From 5eb49e57ab112ee78bc4a25c4f1d03ebe132ae7a Mon Sep 17 00:00:00 2001 From: Enric Pou Date: Mon, 17 Mar 2025 18:11:45 +0100 Subject: [PATCH 1/2] Fix conflict when 'name' used in enum --- .../dart/libraries/dio/serialization/built_value/enum.mustache | 2 +- .../dio/serialization/built_value/enum_inline.mustache | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/dart/libraries/dio/serialization/built_value/enum.mustache b/modules/openapi-generator/src/main/resources/dart/libraries/dio/serialization/built_value/enum.mustache index 2c076da6661c..a9f13f1c5964 100644 --- a/modules/openapi-generator/src/main/resources/dart/libraries/dio/serialization/built_value/enum.mustache +++ b/modules/openapi-generator/src/main/resources/dart/libraries/dio/serialization/built_value/enum.mustache @@ -15,7 +15,7 @@ class {{classname}} extends EnumClass { /// {{{.}}} {{/description}} @BuiltValueEnumConst({{#isInteger}}wireNumber: {{{value}}}{{/isInteger}}{{#isLong}}wireNumber: {{{value}}}{{/isLong}}{{^isInteger}}{{^isLong}}wireName: r{{{value}}}{{/isLong}}{{/isInteger}}{{#enumUnknownDefaultCase}}{{#-last}}, fallback: true{{/-last}}{{/enumUnknownDefaultCase}}) - static const {{classname}} {{name}} = _${{name}}; + static const {{classname}} {{name}}Attr = _${{name}}; {{/enumVars}} {{/allowableValues}} diff --git a/modules/openapi-generator/src/main/resources/dart/libraries/dio/serialization/built_value/enum_inline.mustache b/modules/openapi-generator/src/main/resources/dart/libraries/dio/serialization/built_value/enum_inline.mustache index 98345b6d9d6a..7cb56b702dbd 100644 --- a/modules/openapi-generator/src/main/resources/dart/libraries/dio/serialization/built_value/enum_inline.mustache +++ b/modules/openapi-generator/src/main/resources/dart/libraries/dio/serialization/built_value/enum_inline.mustache @@ -9,7 +9,7 @@ class {{{enumName}}} extends EnumClass { /// {{{.}}} {{/description}} @BuiltValueEnumConst({{#isInteger}}wireNumber: {{{value}}}{{/isInteger}}{{#isLong}}wireNumber: {{{value}}}{{/isLong}}{{^isInteger}}{{^isLong}}wireName: r{{{value}}}{{/isLong}}{{/isInteger}}{{#enumUnknownDefaultCase}}{{#-last}}, fallback: true{{/-last}}{{/enumUnknownDefaultCase}}) - static const {{{enumName}}} {{name}} = _${{#lambda.camelcase}}{{{enumName}}}{{/lambda.camelcase}}_{{name}}; + static const {{{enumName}}} {{name}}Attr = _${{#lambda.camelcase}}{{{enumName}}}{{/lambda.camelcase}}_{{name}}; {{/enumVars}} {{/allowableValues}} From 18dbba14f31a2d2149d208ed7e0b22cf4d95ff72 Mon Sep 17 00:00:00 2001 From: Enric Pou Date: Mon, 17 Mar 2025 18:12:55 +0100 Subject: [PATCH 2/2] Added build samples --- .../dart-dio-built_value_name_enum.yaml | 12 ++ .../src/test/resources/bugs/issues_20910.yaml | 57 +++++++ .../issues_20910_client_lib/.gitignore | 41 +++++ .../.openapi-generator-ignore | 23 +++ .../.openapi-generator/FILES | 23 +++ .../.openapi-generator/VERSION | 1 + .../issues_20910_client_lib/README.md | 86 +++++++++++ .../analysis_options.yaml | 9 ++ .../issues_20910_client_lib/doc/DefaultApi.md | 95 ++++++++++++ .../issues_20910_client_lib/doc/OrderBy.md | 14 ++ .../doc/TestPostRequest.md | 16 ++ .../doc/ValidationErrorResponse.md | 15 ++ .../issues_20910_client_lib/lib/openapi.dart | 18 +++ .../issues_20910_client_lib/lib/src/api.dart | 73 +++++++++ .../lib/src/api/default_api.dart | 143 ++++++++++++++++++ .../lib/src/api_util.dart | 77 ++++++++++ .../lib/src/auth/api_key_auth.dart | 30 ++++ .../lib/src/auth/auth.dart | 18 +++ .../lib/src/auth/basic_auth.dart | 37 +++++ .../lib/src/auth/bearer_auth.dart | 26 ++++ .../lib/src/auth/oauth.dart | 26 ++++ .../lib/src/date_serializer.dart | 31 ++++ .../lib/src/model/date.dart | 70 +++++++++ .../lib/src/model/order_by.dart | 36 +++++ .../lib/src/model/test_post_request.dart | 122 +++++++++++++++ .../src/model/validation_error_response.dart | 131 ++++++++++++++++ .../lib/src/serializers.dart | 36 +++++ .../issues_20910_client_lib/pubspec.yaml | 20 +++ .../test/default_api_test.dart | 21 +++ .../test/order_by_test.dart | 9 ++ .../test/test_post_request_test.dart | 21 +++ .../test/validation_error_response_test.dart | 17 +++ .../lib/src/model/fruit_type.dart | 6 +- .../lib/src/model/child_with_nullable.dart | 4 +- .../lib/src/model/enum_arrays.dart | 12 +- .../lib/src/model/enum_test.dart | 28 ++-- .../lib/src/model/map_test.dart | 6 +- .../lib/src/model/model_enum_class.dart | 8 +- .../lib/src/model/order.dart | 8 +- .../lib/src/model/outer_enum.dart | 8 +- .../src/model/outer_enum_default_value.dart | 8 +- .../lib/src/model/outer_enum_integer.dart | 8 +- .../outer_enum_integer_default_value.dart | 8 +- .../lib/src/model/parent_with_nullable.dart | 4 +- .../lib/src/model/pet.dart | 8 +- .../lib/src/model/single_ref_type.dart | 6 +- 46 files changed, 1415 insertions(+), 61 deletions(-) create mode 100644 bin/configs/dart-dio-built_value_name_enum.yaml create mode 100644 modules/openapi-generator/src/test/resources/bugs/issues_20910.yaml create mode 100644 samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/.gitignore create mode 100644 samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/.openapi-generator-ignore create mode 100644 samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/.openapi-generator/FILES create mode 100644 samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/.openapi-generator/VERSION create mode 100644 samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/README.md create mode 100644 samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/analysis_options.yaml create mode 100644 samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/doc/DefaultApi.md create mode 100644 samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/doc/OrderBy.md create mode 100644 samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/doc/TestPostRequest.md create mode 100644 samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/doc/ValidationErrorResponse.md create mode 100644 samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/openapi.dart create mode 100644 samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/api.dart create mode 100644 samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/api/default_api.dart create mode 100644 samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/api_util.dart create mode 100644 samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/auth/api_key_auth.dart create mode 100644 samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/auth/auth.dart create mode 100644 samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/auth/basic_auth.dart create mode 100644 samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/auth/bearer_auth.dart create mode 100644 samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/auth/oauth.dart create mode 100644 samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/date_serializer.dart create mode 100644 samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/model/date.dart create mode 100644 samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/model/order_by.dart create mode 100644 samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/model/test_post_request.dart create mode 100644 samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/model/validation_error_response.dart create mode 100644 samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/serializers.dart create mode 100644 samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/pubspec.yaml create mode 100644 samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/test/default_api_test.dart create mode 100644 samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/test/order_by_test.dart create mode 100644 samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/test/test_post_request_test.dart create mode 100644 samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/test/validation_error_response_test.dart diff --git a/bin/configs/dart-dio-built_value_name_enum.yaml b/bin/configs/dart-dio-built_value_name_enum.yaml new file mode 100644 index 000000000000..2bd14b0cebd1 --- /dev/null +++ b/bin/configs/dart-dio-built_value_name_enum.yaml @@ -0,0 +1,12 @@ +generatorName: dart-dio +outputDir: samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib +inputSpec: modules/openapi-generator/src/test/resources/bugs/issues_20910.yaml +templateDir: modules/openapi-generator/src/main/resources/dart/libraries/dio +typeMappings: + Client: "ModelClient" + File: "ModelFile" + EnumClass: "ModelEnumClass" +additionalProperties: + hideGenerationTimestamp: "true" + enumUnknownDefaultCase: "true" + dateLibrary: "core" diff --git a/modules/openapi-generator/src/test/resources/bugs/issues_20910.yaml b/modules/openapi-generator/src/test/resources/bugs/issues_20910.yaml new file mode 100644 index 000000000000..8250e3e6ba56 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/bugs/issues_20910.yaml @@ -0,0 +1,57 @@ +--- +openapi: 3.0.3 +info: + title: Test + version: 1.0.0-SNAPSHOT +paths: + /test: + get: + parameters: + - name: order_by + in: query + required: false + schema: + $ref: '#/components/schemas/OrderBy' + responses: + "200": + description: OK + post: + requestBody: + content: + application/json: + schema: + type: object + properties: + username: + type: string + name: + type: string + required: + - username + - name + responses: + "200": + description: OK + "400": + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationErrorResponse' + +components: + schemas: + OrderBy: + type: string + enum: + - name + - username + ValidationErrorResponse: + type: object + properties: + attr: + enum: + - name + - username + type: string + description: The attribute that caused the validation error diff --git a/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/.gitignore b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/.gitignore new file mode 100644 index 000000000000..4298cdcbd1a2 --- /dev/null +++ b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/.gitignore @@ -0,0 +1,41 @@ +# See https://dart.dev/guides/libraries/private-files + +# Files and directories created by pub +.dart_tool/ +.buildlog +.packages +.project +.pub/ +build/ +**/packages/ + +# Files created by dart2js +# (Most Dart developers will use pub build to compile Dart, use/modify these +# rules if you intend to use dart2js directly +# Convention is to use extension '.dart.js' for Dart compiled to Javascript to +# differentiate from explicit Javascript files) +*.dart.js +*.part.js +*.js.deps +*.js.map +*.info.json + +# Directory created by dartdoc +doc/api/ + +# Don't commit pubspec lock file +# (Library packages only! Remove pattern if developing an application package) +pubspec.lock + +# Don’t commit files and directories created by other development environments. +# For example, if your development environment creates any of the following files, +# consider putting them in a global ignore file: + +# IntelliJ +*.iml +*.ipr +*.iws +.idea/ + +# Mac +.DS_Store diff --git a/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/.openapi-generator-ignore b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/.openapi-generator-ignore new file mode 100644 index 000000000000..7484ee590a38 --- /dev/null +++ b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/.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/dart-dio/issues_20910_client_lib/.openapi-generator/FILES b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/.openapi-generator/FILES new file mode 100644 index 000000000000..66044c260a04 --- /dev/null +++ b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/.openapi-generator/FILES @@ -0,0 +1,23 @@ +.gitignore +README.md +analysis_options.yaml +doc/DefaultApi.md +doc/OrderBy.md +doc/TestPostRequest.md +doc/ValidationErrorResponse.md +lib/openapi.dart +lib/src/api.dart +lib/src/api/default_api.dart +lib/src/api_util.dart +lib/src/auth/api_key_auth.dart +lib/src/auth/auth.dart +lib/src/auth/basic_auth.dart +lib/src/auth/bearer_auth.dart +lib/src/auth/oauth.dart +lib/src/date_serializer.dart +lib/src/model/date.dart +lib/src/model/order_by.dart +lib/src/model/test_post_request.dart +lib/src/model/validation_error_response.dart +lib/src/serializers.dart +pubspec.yaml diff --git a/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/.openapi-generator/VERSION b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/.openapi-generator/VERSION new file mode 100644 index 000000000000..96cfbb19ae28 --- /dev/null +++ b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/.openapi-generator/VERSION @@ -0,0 +1 @@ +7.13.0-SNAPSHOT diff --git a/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/README.md b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/README.md new file mode 100644 index 000000000000..ba8a4decf8e1 --- /dev/null +++ b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/README.md @@ -0,0 +1,86 @@ +# openapi (EXPERIMENTAL) +No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +This Dart package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: + +- API version: 1.0.0-SNAPSHOT +- Generator version: 7.13.0-SNAPSHOT +- Build package: org.openapitools.codegen.languages.DartDioClientCodegen + +## Requirements + +* Dart 2.15.0+ or Flutter 2.8.0+ +* Dio 5.0.0+ (https://pub.dev/packages/dio) + +## Installation & Usage + +### pub.dev +To use the package from [pub.dev](https://pub.dev), please include the following in pubspec.yaml +```yaml +dependencies: + openapi: 1.0.0 +``` + +### Github +If this Dart package is published to Github, please include the following in pubspec.yaml +```yaml +dependencies: + openapi: + git: + url: https://github.com/GIT_USER_ID/GIT_REPO_ID.git + #ref: main +``` + +### Local development +To use the package from your local drive, please include the following in pubspec.yaml +```yaml +dependencies: + openapi: + path: /path/to/openapi +``` + +## Getting Started + +Please follow the [installation procedure](#installation--usage) and then run the following: + +```dart +import 'package:openapi/openapi.dart'; + + +final api = Openapi().getDefaultApi(); +final OrderBy orderBy = ; // OrderBy | + +try { + api.testGet(orderBy); +} catch on DioException (e) { + print("Exception when calling DefaultApi->testGet: $e\n"); +} + +``` + +## Documentation for API Endpoints + +All URIs are relative to *http://localhost* + +Class | Method | HTTP request | Description +------------ | ------------- | ------------- | ------------- +[*DefaultApi*](doc/DefaultApi.md) | [**testGet**](doc/DefaultApi.md#testget) | **GET** /test | +[*DefaultApi*](doc/DefaultApi.md) | [**testPost**](doc/DefaultApi.md#testpost) | **POST** /test | + + +## Documentation For Models + + - [OrderBy](doc/OrderBy.md) + - [TestPostRequest](doc/TestPostRequest.md) + - [ValidationErrorResponse](doc/ValidationErrorResponse.md) + + +## Documentation For Authorization + +Endpoints do not require authorization. + + +## Author + + + diff --git a/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/analysis_options.yaml b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/analysis_options.yaml new file mode 100644 index 000000000000..16a95850087a --- /dev/null +++ b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/analysis_options.yaml @@ -0,0 +1,9 @@ +analyzer: + language: + strict-inference: true + strict-raw-types: true + strict-casts: false + exclude: + - test/*.dart + errors: + deprecated_member_use_from_same_package: ignore diff --git a/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/doc/DefaultApi.md b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/doc/DefaultApi.md new file mode 100644 index 000000000000..d48936cdc323 --- /dev/null +++ b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/doc/DefaultApi.md @@ -0,0 +1,95 @@ +# openapi.api.DefaultApi + +## Load the API package +```dart +import 'package:openapi/api.dart'; +``` + +All URIs are relative to *http://localhost* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**testGet**](DefaultApi.md#testget) | **GET** /test | +[**testPost**](DefaultApi.md#testpost) | **POST** /test | + + +# **testGet** +> testGet(orderBy) + + + +### Example +```dart +import 'package:openapi/api.dart'; + +final api = Openapi().getDefaultApi(); +final OrderBy orderBy = ; // OrderBy | + +try { + api.testGet(orderBy); +} catch on DioException (e) { + print('Exception when calling DefaultApi->testGet: $e\n'); +} +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **orderBy** | [**OrderBy**](.md)| | [optional] + +### Return type + +void (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) + +# **testPost** +> testPost(testPostRequest) + + + +### Example +```dart +import 'package:openapi/api.dart'; + +final api = Openapi().getDefaultApi(); +final TestPostRequest testPostRequest = ; // TestPostRequest | + +try { + api.testPost(testPostRequest); +} catch on DioException (e) { + print('Exception when calling DefaultApi->testPost: $e\n'); +} +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **testPostRequest** | [**TestPostRequest**](TestPostRequest.md)| | [optional] + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +[[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/openapi3/client/petstore/dart-dio/issues_20910_client_lib/doc/OrderBy.md b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/doc/OrderBy.md new file mode 100644 index 000000000000..e683b1890f59 --- /dev/null +++ b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/doc/OrderBy.md @@ -0,0 +1,14 @@ +# openapi.model.OrderBy + +## Load the model package +```dart +import 'package:openapi/api.dart'; +``` + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/dart-dio/issues_20910_client_lib/doc/TestPostRequest.md b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/doc/TestPostRequest.md new file mode 100644 index 000000000000..c2780466a38c --- /dev/null +++ b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/doc/TestPostRequest.md @@ -0,0 +1,16 @@ +# openapi.model.TestPostRequest + +## Load the model package +```dart +import 'package:openapi/api.dart'; +``` + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**username** | **String** | | +**name** | **String** | | + +[[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/dart-dio/issues_20910_client_lib/doc/ValidationErrorResponse.md b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/doc/ValidationErrorResponse.md new file mode 100644 index 000000000000..c21d3a310143 --- /dev/null +++ b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/doc/ValidationErrorResponse.md @@ -0,0 +1,15 @@ +# openapi.model.ValidationErrorResponse + +## Load the model package +```dart +import 'package:openapi/api.dart'; +``` + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attr** | **String** | The attribute that caused the validation error | [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/dart-dio/issues_20910_client_lib/lib/openapi.dart b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/openapi.dart new file mode 100644 index 000000000000..dc9185d5958a --- /dev/null +++ b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/openapi.dart @@ -0,0 +1,18 @@ +// +// AUTO-GENERATED FILE, DO NOT MODIFY! +// + +export 'package:openapi/src/api.dart'; +export 'package:openapi/src/auth/api_key_auth.dart'; +export 'package:openapi/src/auth/basic_auth.dart'; +export 'package:openapi/src/auth/bearer_auth.dart'; +export 'package:openapi/src/auth/oauth.dart'; +export 'package:openapi/src/serializers.dart'; +export 'package:openapi/src/model/date.dart'; + +export 'package:openapi/src/api/default_api.dart'; + +export 'package:openapi/src/model/order_by.dart'; +export 'package:openapi/src/model/test_post_request.dart'; +export 'package:openapi/src/model/validation_error_response.dart'; + diff --git a/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/api.dart b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/api.dart new file mode 100644 index 000000000000..dfd8e847bdd9 --- /dev/null +++ b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/api.dart @@ -0,0 +1,73 @@ +// +// AUTO-GENERATED FILE, DO NOT MODIFY! +// + +import 'package:dio/dio.dart'; +import 'package:built_value/serializer.dart'; +import 'package:openapi/src/serializers.dart'; +import 'package:openapi/src/auth/api_key_auth.dart'; +import 'package:openapi/src/auth/basic_auth.dart'; +import 'package:openapi/src/auth/bearer_auth.dart'; +import 'package:openapi/src/auth/oauth.dart'; +import 'package:openapi/src/api/default_api.dart'; + +class Openapi { + static const String basePath = r'http://localhost'; + + final Dio dio; + final Serializers serializers; + + Openapi({ + Dio? dio, + Serializers? serializers, + String? basePathOverride, + List? interceptors, + }) : this.serializers = serializers ?? standardSerializers, + this.dio = dio ?? + Dio(BaseOptions( + baseUrl: basePathOverride ?? basePath, + connectTimeout: const Duration(milliseconds: 5000), + receiveTimeout: const Duration(milliseconds: 3000), + )) { + if (interceptors == null) { + this.dio.interceptors.addAll([ + OAuthInterceptor(), + BasicAuthInterceptor(), + BearerAuthInterceptor(), + ApiKeyAuthInterceptor(), + ]); + } else { + this.dio.interceptors.addAll(interceptors); + } + } + + void setOAuthToken(String name, String token) { + if (this.dio.interceptors.any((i) => i is OAuthInterceptor)) { + (this.dio.interceptors.firstWhere((i) => i is OAuthInterceptor) as OAuthInterceptor).tokens[name] = token; + } + } + + void setBearerAuth(String name, String token) { + if (this.dio.interceptors.any((i) => i is BearerAuthInterceptor)) { + (this.dio.interceptors.firstWhere((i) => i is BearerAuthInterceptor) as BearerAuthInterceptor).tokens[name] = token; + } + } + + void setBasicAuth(String name, String username, String password) { + if (this.dio.interceptors.any((i) => i is BasicAuthInterceptor)) { + (this.dio.interceptors.firstWhere((i) => i is BasicAuthInterceptor) as BasicAuthInterceptor).authInfo[name] = BasicAuthInfo(username, password); + } + } + + void setApiKey(String name, String apiKey) { + if (this.dio.interceptors.any((i) => i is ApiKeyAuthInterceptor)) { + (this.dio.interceptors.firstWhere((element) => element is ApiKeyAuthInterceptor) as ApiKeyAuthInterceptor).apiKeys[name] = apiKey; + } + } + + /// Get DefaultApi instance, base route and serializer can be overridden by a given but be careful, + /// by doing that all interceptors will not be executed + DefaultApi getDefaultApi() { + return DefaultApi(dio, serializers); + } +} diff --git a/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/api/default_api.dart b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/api/default_api.dart new file mode 100644 index 000000000000..ba161027b677 --- /dev/null +++ b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/api/default_api.dart @@ -0,0 +1,143 @@ +// +// AUTO-GENERATED FILE, DO NOT MODIFY! +// + +import 'dart:async'; + +import 'package:built_value/json_object.dart'; +import 'package:built_value/serializer.dart'; +import 'package:dio/dio.dart'; + +import 'package:openapi/src/api_util.dart'; +import 'package:openapi/src/model/order_by.dart'; +import 'package:openapi/src/model/test_post_request.dart'; +import 'package:openapi/src/model/validation_error_response.dart'; + +class DefaultApi { + + final Dio _dio; + + final Serializers _serializers; + + const DefaultApi(this._dio, this._serializers); + + /// testGet + /// + /// + /// Parameters: + /// * [orderBy] + /// * [cancelToken] - A [CancelToken] that can be used to cancel the operation + /// * [headers] - Can be used to add additional headers to the request + /// * [extras] - Can be used to add flags to the request + /// * [validateStatus] - A [ValidateStatus] callback that can be used to determine request success based on the HTTP status of the response + /// * [onSendProgress] - A [ProgressCallback] that can be used to get the send progress + /// * [onReceiveProgress] - A [ProgressCallback] that can be used to get the receive progress + /// + /// Returns a [Future] + /// Throws [DioException] if API call or serialization fails + Future> testGet({ + OrderBy? orderBy, + CancelToken? cancelToken, + Map? headers, + Map? extra, + ValidateStatus? validateStatus, + ProgressCallback? onSendProgress, + ProgressCallback? onReceiveProgress, + }) async { + final _path = r'/test'; + final _options = Options( + method: r'GET', + headers: { + ...?headers, + }, + extra: { + 'secure': >[], + ...?extra, + }, + validateStatus: validateStatus, + ); + + final _queryParameters = { + if (orderBy != null) r'order_by': encodeQueryParameter(_serializers, orderBy, const FullType(OrderBy)), + }; + + final _response = await _dio.request( + _path, + options: _options, + queryParameters: _queryParameters, + cancelToken: cancelToken, + onSendProgress: onSendProgress, + onReceiveProgress: onReceiveProgress, + ); + + return _response; + } + + /// testPost + /// + /// + /// Parameters: + /// * [testPostRequest] + /// * [cancelToken] - A [CancelToken] that can be used to cancel the operation + /// * [headers] - Can be used to add additional headers to the request + /// * [extras] - Can be used to add flags to the request + /// * [validateStatus] - A [ValidateStatus] callback that can be used to determine request success based on the HTTP status of the response + /// * [onSendProgress] - A [ProgressCallback] that can be used to get the send progress + /// * [onReceiveProgress] - A [ProgressCallback] that can be used to get the receive progress + /// + /// Returns a [Future] + /// Throws [DioException] if API call or serialization fails + Future> testPost({ + TestPostRequest? testPostRequest, + CancelToken? cancelToken, + Map? headers, + Map? extra, + ValidateStatus? validateStatus, + ProgressCallback? onSendProgress, + ProgressCallback? onReceiveProgress, + }) async { + final _path = r'/test'; + final _options = Options( + method: r'POST', + headers: { + ...?headers, + }, + extra: { + 'secure': >[], + ...?extra, + }, + contentType: 'application/json', + validateStatus: validateStatus, + ); + + dynamic _bodyData; + + try { + const _type = FullType(TestPostRequest); + _bodyData = testPostRequest == null ? null : _serializers.serialize(testPostRequest, specifiedType: _type); + + } catch(error, stackTrace) { + throw DioException( + requestOptions: _options.compose( + _dio.options, + _path, + ), + type: DioExceptionType.unknown, + error: error, + stackTrace: stackTrace, + ); + } + + final _response = await _dio.request( + _path, + data: _bodyData, + options: _options, + cancelToken: cancelToken, + onSendProgress: onSendProgress, + onReceiveProgress: onReceiveProgress, + ); + + return _response; + } + +} diff --git a/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/api_util.dart b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/api_util.dart new file mode 100644 index 000000000000..ed3bb12f25b8 --- /dev/null +++ b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/api_util.dart @@ -0,0 +1,77 @@ +// +// AUTO-GENERATED FILE, DO NOT MODIFY! +// + +import 'dart:convert'; +import 'dart:typed_data'; + +import 'package:built_collection/built_collection.dart'; +import 'package:built_value/serializer.dart'; +import 'package:dio/dio.dart'; + +/// Format the given form parameter object into something that Dio can handle. +/// Returns primitive or String. +/// Returns List/Map if the value is BuildList/BuiltMap. +dynamic encodeFormParameter(Serializers serializers, dynamic value, FullType type) { + if (value == null) { + return ''; + } + if (value is String || value is num || value is bool) { + return value; + } + final serialized = serializers.serialize( + value as Object, + specifiedType: type, + ); + if (serialized is String) { + return serialized; + } + if (value is BuiltList || value is BuiltSet || value is BuiltMap) { + return serialized; + } + return json.encode(serialized); +} + +dynamic encodeQueryParameter( + Serializers serializers, + dynamic value, + FullType type, +) { + if (value == null) { + return ''; + } + if (value is String || value is num || value is bool) { + return value; + } + if (value is Uint8List) { + // Currently not sure how to serialize this + return value; + } + final serialized = serializers.serialize( + value as Object, + specifiedType: type, + ); + if (serialized == null) { + return ''; + } + if (serialized is String) { + return serialized; + } + return serialized; +} + +ListParam encodeCollectionQueryParameter( + Serializers serializers, + dynamic value, + FullType type, { + ListFormat format = ListFormat.multi, +}) { + final serialized = serializers.serialize( + value as Object, + specifiedType: type, + ); + if (value is BuiltList || value is BuiltSet) { + return ListParam(List.of((serialized as Iterable).cast()), format); + } + throw ArgumentError('Invalid value passed to encodeCollectionQueryParameter'); +} diff --git a/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/auth/api_key_auth.dart b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/auth/api_key_auth.dart new file mode 100644 index 000000000000..ee16e3f0f92f --- /dev/null +++ b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/auth/api_key_auth.dart @@ -0,0 +1,30 @@ +// +// AUTO-GENERATED FILE, DO NOT MODIFY! +// + + +import 'package:dio/dio.dart'; +import 'package:openapi/src/auth/auth.dart'; + +class ApiKeyAuthInterceptor extends AuthInterceptor { + final Map apiKeys = {}; + + @override + void onRequest(RequestOptions options, RequestInterceptorHandler handler) { + final authInfo = getAuthInfo(options, (secure) => secure['type'] == 'apiKey'); + for (final info in authInfo) { + final authName = info['name'] as String; + final authKeyName = info['keyName'] as String; + final authWhere = info['where'] as String; + final apiKey = apiKeys[authName]; + if (apiKey != null) { + if (authWhere == 'query') { + options.queryParameters[authKeyName] = apiKey; + } else { + options.headers[authKeyName] = apiKey; + } + } + } + super.onRequest(options, handler); + } +} diff --git a/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/auth/auth.dart b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/auth/auth.dart new file mode 100644 index 000000000000..f7ae9bf3f11e --- /dev/null +++ b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/auth/auth.dart @@ -0,0 +1,18 @@ +// +// AUTO-GENERATED FILE, DO NOT MODIFY! +// + +import 'package:dio/dio.dart'; + +abstract class AuthInterceptor extends Interceptor { + /// Get auth information on given route for the given type. + /// Can return an empty list if type is not present on auth data or + /// if route doesn't need authentication. + List> getAuthInfo(RequestOptions route, bool Function(Map secure) handles) { + if (route.extra.containsKey('secure')) { + final auth = route.extra['secure'] as List>; + return auth.where((secure) => handles(secure)).toList(); + } + return []; + } +} diff --git a/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/auth/basic_auth.dart b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/auth/basic_auth.dart new file mode 100644 index 000000000000..b65ccb5b71f7 --- /dev/null +++ b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/auth/basic_auth.dart @@ -0,0 +1,37 @@ +// +// AUTO-GENERATED FILE, DO NOT MODIFY! +// + +import 'dart:convert'; + +import 'package:dio/dio.dart'; +import 'package:openapi/src/auth/auth.dart'; + +class BasicAuthInfo { + final String username; + final String password; + + const BasicAuthInfo(this.username, this.password); +} + +class BasicAuthInterceptor extends AuthInterceptor { + final Map authInfo = {}; + + @override + void onRequest( + RequestOptions options, + RequestInterceptorHandler handler, + ) { + final metadataAuthInfo = getAuthInfo(options, (secure) => (secure['type'] == 'http' && secure['scheme']?.toLowerCase() == 'basic') || secure['type'] == 'basic'); + for (final info in metadataAuthInfo) { + final authName = info['name'] as String; + final basicAuthInfo = authInfo[authName]; + if (basicAuthInfo != null) { + final basicAuth = 'Basic ${base64Encode(utf8.encode('${basicAuthInfo.username}:${basicAuthInfo.password}'))}'; + options.headers['Authorization'] = basicAuth; + break; + } + } + super.onRequest(options, handler); + } +} diff --git a/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/auth/bearer_auth.dart b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/auth/bearer_auth.dart new file mode 100644 index 000000000000..8f46678761b2 --- /dev/null +++ b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/auth/bearer_auth.dart @@ -0,0 +1,26 @@ +// +// AUTO-GENERATED FILE, DO NOT MODIFY! +// + +import 'package:dio/dio.dart'; +import 'package:openapi/src/auth/auth.dart'; + +class BearerAuthInterceptor extends AuthInterceptor { + final Map tokens = {}; + + @override + void onRequest( + RequestOptions options, + RequestInterceptorHandler handler, + ) { + final authInfo = getAuthInfo(options, (secure) => secure['type'] == 'http' && secure['scheme']?.toLowerCase() == 'bearer'); + for (final info in authInfo) { + final token = tokens[info['name']]; + if (token != null) { + options.headers['Authorization'] = 'Bearer ${token}'; + break; + } + } + super.onRequest(options, handler); + } +} diff --git a/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/auth/oauth.dart b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/auth/oauth.dart new file mode 100644 index 000000000000..337cf762b0ce --- /dev/null +++ b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/auth/oauth.dart @@ -0,0 +1,26 @@ +// +// AUTO-GENERATED FILE, DO NOT MODIFY! +// + +import 'package:dio/dio.dart'; +import 'package:openapi/src/auth/auth.dart'; + +class OAuthInterceptor extends AuthInterceptor { + final Map tokens = {}; + + @override + void onRequest( + RequestOptions options, + RequestInterceptorHandler handler, + ) { + final authInfo = getAuthInfo(options, (secure) => secure['type'] == 'oauth' || secure['type'] == 'oauth2'); + for (final info in authInfo) { + final token = tokens[info['name']]; + if (token != null) { + options.headers['Authorization'] = 'Bearer ${token}'; + break; + } + } + super.onRequest(options, handler); + } +} diff --git a/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/date_serializer.dart b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/date_serializer.dart new file mode 100644 index 000000000000..db3c5c437db1 --- /dev/null +++ b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/date_serializer.dart @@ -0,0 +1,31 @@ +// +// AUTO-GENERATED FILE, DO NOT MODIFY! +// + +import 'package:built_collection/built_collection.dart'; +import 'package:built_value/serializer.dart'; +import 'package:openapi/src/model/date.dart'; + +class DateSerializer implements PrimitiveSerializer { + + const DateSerializer(); + + @override + Iterable get types => BuiltList.of([Date]); + + @override + String get wireName => 'Date'; + + @override + Date deserialize(Serializers serializers, Object serialized, + {FullType specifiedType = FullType.unspecified}) { + final parsed = DateTime.parse(serialized as String); + return Date(parsed.year, parsed.month, parsed.day); + } + + @override + Object serialize(Serializers serializers, Date date, + {FullType specifiedType = FullType.unspecified}) { + return date.toString(); + } +} diff --git a/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/model/date.dart b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/model/date.dart new file mode 100644 index 000000000000..b21c7f544bee --- /dev/null +++ b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/model/date.dart @@ -0,0 +1,70 @@ +/// A gregorian calendar date generated by +/// OpenAPI generator to differentiate +/// between [DateTime] and [Date] formats. +class Date implements Comparable { + final int year; + + /// January is 1. + final int month; + + /// First day is 1. + final int day; + + Date(this.year, this.month, this.day); + + /// The current date + static Date now({bool utc = false}) { + var now = DateTime.now(); + if (utc) { + now = now.toUtc(); + } + return now.toDate(); + } + + /// Convert to a [DateTime]. + DateTime toDateTime({bool utc = false}) { + if (utc) { + return DateTime.utc(year, month, day); + } else { + return DateTime(year, month, day); + } + } + + @override + int compareTo(Date other) { + int d = year.compareTo(other.year); + if (d != 0) { + return d; + } + d = month.compareTo(other.month); + if (d != 0) { + return d; + } + return day.compareTo(other.day); + } + + @override + bool operator ==(Object other) => + identical(this, other) || + other is Date && + runtimeType == other.runtimeType && + year == other.year && + month == other.month && + day == other.day; + + @override + int get hashCode => year.hashCode ^ month.hashCode ^ day.hashCode; + + @override + String toString() { + final yyyy = year.toString(); + final mm = month.toString().padLeft(2, '0'); + final dd = day.toString().padLeft(2, '0'); + + return '$yyyy-$mm-$dd'; + } +} + +extension DateTimeToDate on DateTime { + Date toDate() => Date(year, month, day); +} diff --git a/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/model/order_by.dart b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/model/order_by.dart new file mode 100644 index 000000000000..51ff300f7adc --- /dev/null +++ b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/model/order_by.dart @@ -0,0 +1,36 @@ +// +// AUTO-GENERATED FILE, DO NOT MODIFY! +// + +// ignore_for_file: unused_element +import 'package:built_collection/built_collection.dart'; +import 'package:built_value/built_value.dart'; +import 'package:built_value/serializer.dart'; + +part 'order_by.g.dart'; + +class OrderBy extends EnumClass { + + @BuiltValueEnumConst(wireName: r'name') + static const OrderBy nameAttr = _$name; + @BuiltValueEnumConst(wireName: r'username') + static const OrderBy usernameAttr = _$username; + @BuiltValueEnumConst(wireName: r'unknown_default_open_api', fallback: true) + static const OrderBy unknownDefaultOpenApiAttr = _$unknownDefaultOpenApi; + + static Serializer get serializer => _$orderBySerializer; + + const OrderBy._(String name): super(name); + + static BuiltSet get values => _$values; + static OrderBy valueOf(String name) => _$valueOf(name); +} + +/// Optionally, enum_class can generate a mixin to go with your enum for use +/// with Angular. It exposes your enum constants as getters. So, if you mix it +/// in to your Dart component class, the values become available to the +/// corresponding Angular template. +/// +/// Trigger mixin generation by writing a line like this one next to your enum. +abstract class OrderByMixin = Object with _$OrderByMixin; + diff --git a/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/model/test_post_request.dart b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/model/test_post_request.dart new file mode 100644 index 000000000000..547701044fa6 --- /dev/null +++ b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/model/test_post_request.dart @@ -0,0 +1,122 @@ +// +// AUTO-GENERATED FILE, DO NOT MODIFY! +// + +// ignore_for_file: unused_element +import 'package:built_value/built_value.dart'; +import 'package:built_value/serializer.dart'; + +part 'test_post_request.g.dart'; + +/// TestPostRequest +/// +/// Properties: +/// * [username] +/// * [name] +@BuiltValue() +abstract class TestPostRequest implements Built { + @BuiltValueField(wireName: r'username') + String get username; + + @BuiltValueField(wireName: r'name') + String get name; + + TestPostRequest._(); + + factory TestPostRequest([void updates(TestPostRequestBuilder b)]) = _$TestPostRequest; + + @BuiltValueHook(initializeBuilder: true) + static void _defaults(TestPostRequestBuilder b) => b; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$TestPostRequestSerializer(); +} + +class _$TestPostRequestSerializer implements PrimitiveSerializer { + @override + final Iterable types = const [TestPostRequest, _$TestPostRequest]; + + @override + final String wireName = r'TestPostRequest'; + + Iterable _serializeProperties( + Serializers serializers, + TestPostRequest object, { + FullType specifiedType = FullType.unspecified, + }) sync* { + yield r'username'; + yield serializers.serialize( + object.username, + specifiedType: const FullType(String), + ); + yield r'name'; + yield serializers.serialize( + object.name, + specifiedType: const FullType(String), + ); + } + + @override + Object serialize( + Serializers serializers, + TestPostRequest object, { + FullType specifiedType = FullType.unspecified, + }) { + return _serializeProperties(serializers, object, specifiedType: specifiedType).toList(); + } + + void _deserializeProperties( + Serializers serializers, + Object serialized, { + FullType specifiedType = FullType.unspecified, + required List serializedList, + required TestPostRequestBuilder result, + required List unhandled, + }) { + for (var i = 0; i < serializedList.length; i += 2) { + final key = serializedList[i] as String; + final value = serializedList[i + 1]; + switch (key) { + case r'username': + final valueDes = serializers.deserialize( + value, + specifiedType: const FullType(String), + ) as String; + result.username = valueDes; + break; + case r'name': + final valueDes = serializers.deserialize( + value, + specifiedType: const FullType(String), + ) as String; + result.name = valueDes; + break; + default: + unhandled.add(key); + unhandled.add(value); + break; + } + } + } + + @override + TestPostRequest deserialize( + Serializers serializers, + Object serialized, { + FullType specifiedType = FullType.unspecified, + }) { + final result = TestPostRequestBuilder(); + final serializedList = (serialized as Iterable).toList(); + final unhandled = []; + _deserializeProperties( + serializers, + serialized, + specifiedType: specifiedType, + serializedList: serializedList, + unhandled: unhandled, + result: result, + ); + return result.build(); + } +} + diff --git a/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/model/validation_error_response.dart b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/model/validation_error_response.dart new file mode 100644 index 000000000000..e05f973ed9df --- /dev/null +++ b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/model/validation_error_response.dart @@ -0,0 +1,131 @@ +// +// AUTO-GENERATED FILE, DO NOT MODIFY! +// + +// ignore_for_file: unused_element +import 'package:built_collection/built_collection.dart'; +import 'package:built_value/built_value.dart'; +import 'package:built_value/serializer.dart'; + +part 'validation_error_response.g.dart'; + +/// ValidationErrorResponse +/// +/// Properties: +/// * [attr] - The attribute that caused the validation error +@BuiltValue() +abstract class ValidationErrorResponse implements Built { + /// The attribute that caused the validation error + @BuiltValueField(wireName: r'attr') + ValidationErrorResponseAttrEnum? get attr; + // enum attrEnum { name, username, }; + + ValidationErrorResponse._(); + + factory ValidationErrorResponse([void updates(ValidationErrorResponseBuilder b)]) = _$ValidationErrorResponse; + + @BuiltValueHook(initializeBuilder: true) + static void _defaults(ValidationErrorResponseBuilder b) => b; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$ValidationErrorResponseSerializer(); +} + +class _$ValidationErrorResponseSerializer implements PrimitiveSerializer { + @override + final Iterable types = const [ValidationErrorResponse, _$ValidationErrorResponse]; + + @override + final String wireName = r'ValidationErrorResponse'; + + Iterable _serializeProperties( + Serializers serializers, + ValidationErrorResponse object, { + FullType specifiedType = FullType.unspecified, + }) sync* { + if (object.attr != null) { + yield r'attr'; + yield serializers.serialize( + object.attr, + specifiedType: const FullType(ValidationErrorResponseAttrEnum), + ); + } + } + + @override + Object serialize( + Serializers serializers, + ValidationErrorResponse object, { + FullType specifiedType = FullType.unspecified, + }) { + return _serializeProperties(serializers, object, specifiedType: specifiedType).toList(); + } + + void _deserializeProperties( + Serializers serializers, + Object serialized, { + FullType specifiedType = FullType.unspecified, + required List serializedList, + required ValidationErrorResponseBuilder result, + required List unhandled, + }) { + for (var i = 0; i < serializedList.length; i += 2) { + final key = serializedList[i] as String; + final value = serializedList[i + 1]; + switch (key) { + case r'attr': + final valueDes = serializers.deserialize( + value, + specifiedType: const FullType(ValidationErrorResponseAttrEnum), + ) as ValidationErrorResponseAttrEnum; + result.attr = valueDes; + break; + default: + unhandled.add(key); + unhandled.add(value); + break; + } + } + } + + @override + ValidationErrorResponse deserialize( + Serializers serializers, + Object serialized, { + FullType specifiedType = FullType.unspecified, + }) { + final result = ValidationErrorResponseBuilder(); + final serializedList = (serialized as Iterable).toList(); + final unhandled = []; + _deserializeProperties( + serializers, + serialized, + specifiedType: specifiedType, + serializedList: serializedList, + unhandled: unhandled, + result: result, + ); + return result.build(); + } +} + +class ValidationErrorResponseAttrEnum extends EnumClass { + + /// The attribute that caused the validation error + @BuiltValueEnumConst(wireName: r'name') + static const ValidationErrorResponseAttrEnum nameAttr = _$validationErrorResponseAttrEnum_name; + /// The attribute that caused the validation error + @BuiltValueEnumConst(wireName: r'username') + static const ValidationErrorResponseAttrEnum usernameAttr = _$validationErrorResponseAttrEnum_username; + /// The attribute that caused the validation error + @BuiltValueEnumConst(wireName: r'unknown_default_open_api', fallback: true) + static const ValidationErrorResponseAttrEnum unknownDefaultOpenApiAttr = _$validationErrorResponseAttrEnum_unknownDefaultOpenApi; + + static Serializer get serializer => _$validationErrorResponseAttrEnumSerializer; + + const ValidationErrorResponseAttrEnum._(String name): super(name); + + static BuiltSet get values => _$validationErrorResponseAttrEnumValues; + static ValidationErrorResponseAttrEnum valueOf(String name) => _$validationErrorResponseAttrEnumValueOf(name); +} + diff --git a/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/serializers.dart b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/serializers.dart new file mode 100644 index 000000000000..e0b220a5c640 --- /dev/null +++ b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/lib/src/serializers.dart @@ -0,0 +1,36 @@ +// +// AUTO-GENERATED FILE, DO NOT MODIFY! +// + +// ignore_for_file: unused_import + +import 'package:one_of_serializer/any_of_serializer.dart'; +import 'package:one_of_serializer/one_of_serializer.dart'; +import 'package:built_collection/built_collection.dart'; +import 'package:built_value/json_object.dart'; +import 'package:built_value/serializer.dart'; +import 'package:built_value/standard_json_plugin.dart'; +import 'package:built_value/iso_8601_date_time_serializer.dart'; +import 'package:openapi/src/date_serializer.dart'; +import 'package:openapi/src/model/date.dart'; + +import 'package:openapi/src/model/order_by.dart'; +import 'package:openapi/src/model/test_post_request.dart'; +import 'package:openapi/src/model/validation_error_response.dart'; + +part 'serializers.g.dart'; + +@SerializersFor([ + OrderBy, + TestPostRequest, + ValidationErrorResponse, +]) +Serializers serializers = (_$serializers.toBuilder() + ..add(const OneOfSerializer()) + ..add(const AnyOfSerializer()) + ..add(const DateSerializer()) + ..add(Iso8601DateTimeSerializer())) + .build(); + +Serializers standardSerializers = + (serializers.toBuilder()..addPlugin(StandardJsonPlugin())).build(); diff --git a/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/pubspec.yaml b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/pubspec.yaml new file mode 100644 index 000000000000..d4121509b909 --- /dev/null +++ b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/pubspec.yaml @@ -0,0 +1,20 @@ +name: openapi +version: 1.0.0 +description: OpenAPI API client +homepage: homepage + + +environment: + sdk: '>=2.18.0 <4.0.0' + +dependencies: + dio: '^5.7.0' + one_of: '>=1.5.0 <2.0.0' + one_of_serializer: '>=1.5.0 <2.0.0' + built_value: '>=8.4.0 <9.0.0' + built_collection: '>=5.1.1 <6.0.0' + +dev_dependencies: + built_value_generator: '>=8.4.0 <9.0.0' + build_runner: any + test: '^1.16.0' diff --git a/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/test/default_api_test.dart b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/test/default_api_test.dart new file mode 100644 index 000000000000..cc3d9de7618c --- /dev/null +++ b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/test/default_api_test.dart @@ -0,0 +1,21 @@ +import 'package:test/test.dart'; +import 'package:openapi/openapi.dart'; + + +/// tests for DefaultApi +void main() { + final instance = Openapi().getDefaultApi(); + + group(DefaultApi, () { + //Future testGet({ OrderBy orderBy }) async + test('test testGet', () async { + // TODO + }); + + //Future testPost({ TestPostRequest testPostRequest }) async + test('test testPost', () async { + // TODO + }); + + }); +} diff --git a/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/test/order_by_test.dart b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/test/order_by_test.dart new file mode 100644 index 000000000000..c948bb7441a1 --- /dev/null +++ b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/test/order_by_test.dart @@ -0,0 +1,9 @@ +import 'package:test/test.dart'; +import 'package:openapi/openapi.dart'; + +// tests for OrderBy +void main() { + + group(OrderBy, () { + }); +} diff --git a/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/test/test_post_request_test.dart b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/test/test_post_request_test.dart new file mode 100644 index 000000000000..8ce7a39b7e4b --- /dev/null +++ b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/test/test_post_request_test.dart @@ -0,0 +1,21 @@ +import 'package:test/test.dart'; +import 'package:openapi/openapi.dart'; + +// tests for TestPostRequest +void main() { + final instance = TestPostRequestBuilder(); + // TODO add properties to the builder and call build() + + group(TestPostRequest, () { + // String username + test('to test the property `username`', () async { + // TODO + }); + + // String name + test('to test the property `name`', () async { + // TODO + }); + + }); +} diff --git a/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/test/validation_error_response_test.dart b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/test/validation_error_response_test.dart new file mode 100644 index 000000000000..050ee3afc284 --- /dev/null +++ b/samples/openapi3/client/petstore/dart-dio/issues_20910_client_lib/test/validation_error_response_test.dart @@ -0,0 +1,17 @@ +import 'package:test/test.dart'; +import 'package:openapi/openapi.dart'; + +// tests for ValidationErrorResponse +void main() { + final instance = ValidationErrorResponseBuilder(); + // TODO add properties to the builder and call build() + + group(ValidationErrorResponse, () { + // The attribute that caused the validation error + // String attr + test('to test the property `attr`', () async { + // TODO + }); + + }); +} diff --git a/samples/openapi3/client/petstore/dart-dio/oneof_polymorphism_and_inheritance/lib/src/model/fruit_type.dart b/samples/openapi3/client/petstore/dart-dio/oneof_polymorphism_and_inheritance/lib/src/model/fruit_type.dart index 3985f198fd0a..d4c9e0f3e2e9 100644 --- a/samples/openapi3/client/petstore/dart-dio/oneof_polymorphism_and_inheritance/lib/src/model/fruit_type.dart +++ b/samples/openapi3/client/petstore/dart-dio/oneof_polymorphism_and_inheritance/lib/src/model/fruit_type.dart @@ -12,11 +12,11 @@ part 'fruit_type.g.dart'; class FruitType extends EnumClass { @BuiltValueEnumConst(wireName: r'APPLE') - static const FruitType APPLE = _$APPLE; + static const FruitType APPLEAttr = _$APPLE; @BuiltValueEnumConst(wireName: r'BANANA') - static const FruitType BANANA = _$BANANA; + static const FruitType BANANAAttr = _$BANANA; @BuiltValueEnumConst(wireName: r'unknown_default_open_api', fallback: true) - static const FruitType unknownDefaultOpenApi = _$unknownDefaultOpenApi; + static const FruitType unknownDefaultOpenApiAttr = _$unknownDefaultOpenApi; static Serializer get serializer => _$fruitTypeSerializer; diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/child_with_nullable.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/child_with_nullable.dart index 8e40eb1d2371..c98e3339e0e4 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/child_with_nullable.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/child_with_nullable.dart @@ -142,9 +142,9 @@ class _$ChildWithNullableSerializer implements PrimitiveSerializer get serializer => _$childWithNullableTypeEnumSerializer; diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/enum_arrays.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/enum_arrays.dart index b79a175e833c..72e3ed283f73 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/enum_arrays.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/enum_arrays.dart @@ -130,11 +130,11 @@ class _$EnumArraysSerializer implements PrimitiveSerializer { class EnumArraysJustSymbolEnum extends EnumClass { @BuiltValueEnumConst(wireName: r'>=') - static const EnumArraysJustSymbolEnum greaterThanEqual = _$enumArraysJustSymbolEnum_greaterThanEqual; + static const EnumArraysJustSymbolEnum greaterThanEqualAttr = _$enumArraysJustSymbolEnum_greaterThanEqual; @BuiltValueEnumConst(wireName: r'$') - static const EnumArraysJustSymbolEnum dollar = _$enumArraysJustSymbolEnum_dollar; + static const EnumArraysJustSymbolEnum dollarAttr = _$enumArraysJustSymbolEnum_dollar; @BuiltValueEnumConst(wireName: r'unknown_default_open_api', fallback: true) - static const EnumArraysJustSymbolEnum unknownDefaultOpenApi = _$enumArraysJustSymbolEnum_unknownDefaultOpenApi; + static const EnumArraysJustSymbolEnum unknownDefaultOpenApiAttr = _$enumArraysJustSymbolEnum_unknownDefaultOpenApi; static Serializer get serializer => _$enumArraysJustSymbolEnumSerializer; @@ -147,11 +147,11 @@ class EnumArraysJustSymbolEnum extends EnumClass { class EnumArraysArrayEnumEnum extends EnumClass { @BuiltValueEnumConst(wireName: r'fish') - static const EnumArraysArrayEnumEnum fish = _$enumArraysArrayEnumEnum_fish; + static const EnumArraysArrayEnumEnum fishAttr = _$enumArraysArrayEnumEnum_fish; @BuiltValueEnumConst(wireName: r'crab') - static const EnumArraysArrayEnumEnum crab = _$enumArraysArrayEnumEnum_crab; + static const EnumArraysArrayEnumEnum crabAttr = _$enumArraysArrayEnumEnum_crab; @BuiltValueEnumConst(wireName: r'unknown_default_open_api', fallback: true) - static const EnumArraysArrayEnumEnum unknownDefaultOpenApi = _$enumArraysArrayEnumEnum_unknownDefaultOpenApi; + static const EnumArraysArrayEnumEnum unknownDefaultOpenApiAttr = _$enumArraysArrayEnumEnum_unknownDefaultOpenApi; static Serializer get serializer => _$enumArraysArrayEnumEnumSerializer; diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/enum_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/enum_test.dart index 831f5b9d6d2d..de74d80cdefb 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/enum_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/enum_test.dart @@ -247,13 +247,13 @@ class _$EnumTestSerializer implements PrimitiveSerializer { class EnumTestEnumStringEnum extends EnumClass { @BuiltValueEnumConst(wireName: r'UPPER') - static const EnumTestEnumStringEnum UPPER = _$enumTestEnumStringEnum_UPPER; + static const EnumTestEnumStringEnum UPPERAttr = _$enumTestEnumStringEnum_UPPER; @BuiltValueEnumConst(wireName: r'lower') - static const EnumTestEnumStringEnum lower = _$enumTestEnumStringEnum_lower; + static const EnumTestEnumStringEnum lowerAttr = _$enumTestEnumStringEnum_lower; @BuiltValueEnumConst(wireName: r'') - static const EnumTestEnumStringEnum empty = _$enumTestEnumStringEnum_empty; + static const EnumTestEnumStringEnum emptyAttr = _$enumTestEnumStringEnum_empty; @BuiltValueEnumConst(wireName: r'unknown_default_open_api', fallback: true) - static const EnumTestEnumStringEnum unknownDefaultOpenApi = _$enumTestEnumStringEnum_unknownDefaultOpenApi; + static const EnumTestEnumStringEnum unknownDefaultOpenApiAttr = _$enumTestEnumStringEnum_unknownDefaultOpenApi; static Serializer get serializer => _$enumTestEnumStringEnumSerializer; @@ -266,13 +266,13 @@ class EnumTestEnumStringEnum extends EnumClass { class EnumTestEnumStringRequiredEnum extends EnumClass { @BuiltValueEnumConst(wireName: r'UPPER') - static const EnumTestEnumStringRequiredEnum UPPER = _$enumTestEnumStringRequiredEnum_UPPER; + static const EnumTestEnumStringRequiredEnum UPPERAttr = _$enumTestEnumStringRequiredEnum_UPPER; @BuiltValueEnumConst(wireName: r'lower') - static const EnumTestEnumStringRequiredEnum lower = _$enumTestEnumStringRequiredEnum_lower; + static const EnumTestEnumStringRequiredEnum lowerAttr = _$enumTestEnumStringRequiredEnum_lower; @BuiltValueEnumConst(wireName: r'') - static const EnumTestEnumStringRequiredEnum empty = _$enumTestEnumStringRequiredEnum_empty; + static const EnumTestEnumStringRequiredEnum emptyAttr = _$enumTestEnumStringRequiredEnum_empty; @BuiltValueEnumConst(wireName: r'unknown_default_open_api', fallback: true) - static const EnumTestEnumStringRequiredEnum unknownDefaultOpenApi = _$enumTestEnumStringRequiredEnum_unknownDefaultOpenApi; + static const EnumTestEnumStringRequiredEnum unknownDefaultOpenApiAttr = _$enumTestEnumStringRequiredEnum_unknownDefaultOpenApi; static Serializer get serializer => _$enumTestEnumStringRequiredEnumSerializer; @@ -285,11 +285,11 @@ class EnumTestEnumStringRequiredEnum extends EnumClass { class EnumTestEnumIntegerEnum extends EnumClass { @BuiltValueEnumConst(wireNumber: 1) - static const EnumTestEnumIntegerEnum number1 = _$enumTestEnumIntegerEnum_number1; + static const EnumTestEnumIntegerEnum number1Attr = _$enumTestEnumIntegerEnum_number1; @BuiltValueEnumConst(wireNumber: -1) - static const EnumTestEnumIntegerEnum numberNegative1 = _$enumTestEnumIntegerEnum_numberNegative1; + static const EnumTestEnumIntegerEnum numberNegative1Attr = _$enumTestEnumIntegerEnum_numberNegative1; @BuiltValueEnumConst(wireNumber: 11184809, fallback: true) - static const EnumTestEnumIntegerEnum unknownDefaultOpenApi = _$enumTestEnumIntegerEnum_unknownDefaultOpenApi; + static const EnumTestEnumIntegerEnum unknownDefaultOpenApiAttr = _$enumTestEnumIntegerEnum_unknownDefaultOpenApi; static Serializer get serializer => _$enumTestEnumIntegerEnumSerializer; @@ -302,11 +302,11 @@ class EnumTestEnumIntegerEnum extends EnumClass { class EnumTestEnumNumberEnum extends EnumClass { @BuiltValueEnumConst(wireName: r'1.1') - static const EnumTestEnumNumberEnum number1Period1 = _$enumTestEnumNumberEnum_number1Period1; + static const EnumTestEnumNumberEnum number1Period1Attr = _$enumTestEnumNumberEnum_number1Period1; @BuiltValueEnumConst(wireName: r'-1.2') - static const EnumTestEnumNumberEnum numberNegative1Period2 = _$enumTestEnumNumberEnum_numberNegative1Period2; + static const EnumTestEnumNumberEnum numberNegative1Period2Attr = _$enumTestEnumNumberEnum_numberNegative1Period2; @BuiltValueEnumConst(wireName: r'11184809', fallback: true) - static const EnumTestEnumNumberEnum unknownDefaultOpenApi = _$enumTestEnumNumberEnum_unknownDefaultOpenApi; + static const EnumTestEnumNumberEnum unknownDefaultOpenApiAttr = _$enumTestEnumNumberEnum_unknownDefaultOpenApi; static Serializer get serializer => _$enumTestEnumNumberEnumSerializer; diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/map_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/map_test.dart index 9fa58677a84a..dd15382ae929 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/map_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/map_test.dart @@ -165,11 +165,11 @@ class _$MapTestSerializer implements PrimitiveSerializer { class MapTestMapOfEnumStringEnum extends EnumClass { @BuiltValueEnumConst(wireName: r'UPPER') - static const MapTestMapOfEnumStringEnum UPPER = _$mapTestMapOfEnumStringEnum_UPPER; + static const MapTestMapOfEnumStringEnum UPPERAttr = _$mapTestMapOfEnumStringEnum_UPPER; @BuiltValueEnumConst(wireName: r'lower') - static const MapTestMapOfEnumStringEnum lower = _$mapTestMapOfEnumStringEnum_lower; + static const MapTestMapOfEnumStringEnum lowerAttr = _$mapTestMapOfEnumStringEnum_lower; @BuiltValueEnumConst(wireName: r'unknown_default_open_api', fallback: true) - static const MapTestMapOfEnumStringEnum unknownDefaultOpenApi = _$mapTestMapOfEnumStringEnum_unknownDefaultOpenApi; + static const MapTestMapOfEnumStringEnum unknownDefaultOpenApiAttr = _$mapTestMapOfEnumStringEnum_unknownDefaultOpenApi; static Serializer get serializer => _$mapTestMapOfEnumStringEnumSerializer; diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/model_enum_class.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/model_enum_class.dart index ac609bfd15ad..8129f1c4df14 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/model_enum_class.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/model_enum_class.dart @@ -12,13 +12,13 @@ part 'model_enum_class.g.dart'; class ModelEnumClass extends EnumClass { @BuiltValueEnumConst(wireName: r'_abc') - static const ModelEnumClass abc = _$abc; + static const ModelEnumClass abcAttr = _$abc; @BuiltValueEnumConst(wireName: r'-efg') - static const ModelEnumClass efg = _$efg; + static const ModelEnumClass efgAttr = _$efg; @BuiltValueEnumConst(wireName: r'(xyz)') - static const ModelEnumClass leftParenthesisXyzRightParenthesis = _$leftParenthesisXyzRightParenthesis; + static const ModelEnumClass leftParenthesisXyzRightParenthesisAttr = _$leftParenthesisXyzRightParenthesis; @BuiltValueEnumConst(wireName: r'unknown_default_open_api', fallback: true) - static const ModelEnumClass unknownDefaultOpenApi = _$unknownDefaultOpenApi; + static const ModelEnumClass unknownDefaultOpenApiAttr = _$unknownDefaultOpenApi; static Serializer get serializer => _$modelEnumClassSerializer; diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/order.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/order.dart index a44e1b340c1e..b5a2c7e31b34 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/order.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/order.dart @@ -204,16 +204,16 @@ class OrderStatusEnum extends EnumClass { /// Order Status @BuiltValueEnumConst(wireName: r'placed') - static const OrderStatusEnum placed = _$orderStatusEnum_placed; + static const OrderStatusEnum placedAttr = _$orderStatusEnum_placed; /// Order Status @BuiltValueEnumConst(wireName: r'approved') - static const OrderStatusEnum approved = _$orderStatusEnum_approved; + static const OrderStatusEnum approvedAttr = _$orderStatusEnum_approved; /// Order Status @BuiltValueEnumConst(wireName: r'delivered') - static const OrderStatusEnum delivered = _$orderStatusEnum_delivered; + static const OrderStatusEnum deliveredAttr = _$orderStatusEnum_delivered; /// Order Status @BuiltValueEnumConst(wireName: r'unknown_default_open_api', fallback: true) - static const OrderStatusEnum unknownDefaultOpenApi = _$orderStatusEnum_unknownDefaultOpenApi; + static const OrderStatusEnum unknownDefaultOpenApiAttr = _$orderStatusEnum_unknownDefaultOpenApi; static Serializer get serializer => _$orderStatusEnumSerializer; diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/outer_enum.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/outer_enum.dart index 5ad5d8009bdf..2e3ed920155e 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/outer_enum.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/outer_enum.dart @@ -12,13 +12,13 @@ part 'outer_enum.g.dart'; class OuterEnum extends EnumClass { @BuiltValueEnumConst(wireName: r'placed') - static const OuterEnum placed = _$placed; + static const OuterEnum placedAttr = _$placed; @BuiltValueEnumConst(wireName: r'approved') - static const OuterEnum approved = _$approved; + static const OuterEnum approvedAttr = _$approved; @BuiltValueEnumConst(wireName: r'delivered') - static const OuterEnum delivered = _$delivered; + static const OuterEnum deliveredAttr = _$delivered; @BuiltValueEnumConst(wireName: r'unknown_default_open_api', fallback: true) - static const OuterEnum unknownDefaultOpenApi = _$unknownDefaultOpenApi; + static const OuterEnum unknownDefaultOpenApiAttr = _$unknownDefaultOpenApi; static Serializer get serializer => _$outerEnumSerializer; diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/outer_enum_default_value.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/outer_enum_default_value.dart index 62c3cefe8456..c63f1ca7aefd 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/outer_enum_default_value.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/outer_enum_default_value.dart @@ -12,13 +12,13 @@ part 'outer_enum_default_value.g.dart'; class OuterEnumDefaultValue extends EnumClass { @BuiltValueEnumConst(wireName: r'placed') - static const OuterEnumDefaultValue placed = _$placed; + static const OuterEnumDefaultValue placedAttr = _$placed; @BuiltValueEnumConst(wireName: r'approved') - static const OuterEnumDefaultValue approved = _$approved; + static const OuterEnumDefaultValue approvedAttr = _$approved; @BuiltValueEnumConst(wireName: r'delivered') - static const OuterEnumDefaultValue delivered = _$delivered; + static const OuterEnumDefaultValue deliveredAttr = _$delivered; @BuiltValueEnumConst(wireName: r'unknown_default_open_api', fallback: true) - static const OuterEnumDefaultValue unknownDefaultOpenApi = _$unknownDefaultOpenApi; + static const OuterEnumDefaultValue unknownDefaultOpenApiAttr = _$unknownDefaultOpenApi; static Serializer get serializer => _$outerEnumDefaultValueSerializer; diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/outer_enum_integer.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/outer_enum_integer.dart index 988b30785d30..1292c9eb5cf9 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/outer_enum_integer.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/outer_enum_integer.dart @@ -12,13 +12,13 @@ part 'outer_enum_integer.g.dart'; class OuterEnumInteger extends EnumClass { @BuiltValueEnumConst(wireNumber: 0) - static const OuterEnumInteger number0 = _$number0; + static const OuterEnumInteger number0Attr = _$number0; @BuiltValueEnumConst(wireNumber: 1) - static const OuterEnumInteger number1 = _$number1; + static const OuterEnumInteger number1Attr = _$number1; @BuiltValueEnumConst(wireNumber: 2) - static const OuterEnumInteger number2 = _$number2; + static const OuterEnumInteger number2Attr = _$number2; @BuiltValueEnumConst(wireNumber: 11184809, fallback: true) - static const OuterEnumInteger unknownDefaultOpenApi = _$unknownDefaultOpenApi; + static const OuterEnumInteger unknownDefaultOpenApiAttr = _$unknownDefaultOpenApi; static Serializer get serializer => _$outerEnumIntegerSerializer; diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/outer_enum_integer_default_value.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/outer_enum_integer_default_value.dart index 3fe792cedbe9..e8513085ac77 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/outer_enum_integer_default_value.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/outer_enum_integer_default_value.dart @@ -12,13 +12,13 @@ part 'outer_enum_integer_default_value.g.dart'; class OuterEnumIntegerDefaultValue extends EnumClass { @BuiltValueEnumConst(wireNumber: 0) - static const OuterEnumIntegerDefaultValue number0 = _$number0; + static const OuterEnumIntegerDefaultValue number0Attr = _$number0; @BuiltValueEnumConst(wireNumber: 1) - static const OuterEnumIntegerDefaultValue number1 = _$number1; + static const OuterEnumIntegerDefaultValue number1Attr = _$number1; @BuiltValueEnumConst(wireNumber: 2) - static const OuterEnumIntegerDefaultValue number2 = _$number2; + static const OuterEnumIntegerDefaultValue number2Attr = _$number2; @BuiltValueEnumConst(wireNumber: 11184809, fallback: true) - static const OuterEnumIntegerDefaultValue unknownDefaultOpenApi = _$unknownDefaultOpenApi; + static const OuterEnumIntegerDefaultValue unknownDefaultOpenApiAttr = _$unknownDefaultOpenApi; static Serializer get serializer => _$outerEnumIntegerDefaultValueSerializer; diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/parent_with_nullable.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/parent_with_nullable.dart index bf1252135cd9..e286a090bc55 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/parent_with_nullable.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/parent_with_nullable.dart @@ -198,9 +198,9 @@ class _$$ParentWithNullableSerializer implements PrimitiveSerializer<$ParentWith class ParentWithNullableTypeEnum extends EnumClass { @BuiltValueEnumConst(wireName: r'ChildWithNullable') - static const ParentWithNullableTypeEnum childWithNullable = _$parentWithNullableTypeEnum_childWithNullable; + static const ParentWithNullableTypeEnum childWithNullableAttr = _$parentWithNullableTypeEnum_childWithNullable; @BuiltValueEnumConst(wireName: r'unknown_default_open_api', fallback: true) - static const ParentWithNullableTypeEnum unknownDefaultOpenApi = _$parentWithNullableTypeEnum_unknownDefaultOpenApi; + static const ParentWithNullableTypeEnum unknownDefaultOpenApiAttr = _$parentWithNullableTypeEnum_unknownDefaultOpenApi; static Serializer get serializer => _$parentWithNullableTypeEnumSerializer; diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/pet.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/pet.dart index 4d6358bef27d..5a1f8c385dde 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/pet.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/pet.dart @@ -201,16 +201,16 @@ class PetStatusEnum extends EnumClass { /// pet status in the store @BuiltValueEnumConst(wireName: r'available') - static const PetStatusEnum available = _$petStatusEnum_available; + static const PetStatusEnum availableAttr = _$petStatusEnum_available; /// pet status in the store @BuiltValueEnumConst(wireName: r'pending') - static const PetStatusEnum pending = _$petStatusEnum_pending; + static const PetStatusEnum pendingAttr = _$petStatusEnum_pending; /// pet status in the store @BuiltValueEnumConst(wireName: r'sold') - static const PetStatusEnum sold = _$petStatusEnum_sold; + static const PetStatusEnum soldAttr = _$petStatusEnum_sold; /// pet status in the store @BuiltValueEnumConst(wireName: r'unknown_default_open_api', fallback: true) - static const PetStatusEnum unknownDefaultOpenApi = _$petStatusEnum_unknownDefaultOpenApi; + static const PetStatusEnum unknownDefaultOpenApiAttr = _$petStatusEnum_unknownDefaultOpenApi; static Serializer get serializer => _$petStatusEnumSerializer; diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/single_ref_type.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/single_ref_type.dart index b51e77292e8e..dfc1ce3d6725 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/single_ref_type.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/src/model/single_ref_type.dart @@ -12,11 +12,11 @@ part 'single_ref_type.g.dart'; class SingleRefType extends EnumClass { @BuiltValueEnumConst(wireName: r'admin') - static const SingleRefType admin = _$admin; + static const SingleRefType adminAttr = _$admin; @BuiltValueEnumConst(wireName: r'user') - static const SingleRefType user = _$user; + static const SingleRefType userAttr = _$user; @BuiltValueEnumConst(wireName: r'unknown_default_open_api', fallback: true) - static const SingleRefType unknownDefaultOpenApi = _$unknownDefaultOpenApi; + static const SingleRefType unknownDefaultOpenApiAttr = _$unknownDefaultOpenApi; static Serializer get serializer => _$singleRefTypeSerializer;