diff --git a/openapi-generator-annotations/lib/src/openapi_generator_annotations_base.dart b/openapi-generator-annotations/lib/src/openapi_generator_annotations_base.dart index d7c73ac..ef7fba9 100644 --- a/openapi-generator-annotations/lib/src/openapi_generator_annotations_base.dart +++ b/openapi-generator-annotations/lib/src/openapi_generator_annotations_base.dart @@ -79,6 +79,13 @@ class Openapi { /// --type-mappings final Map? typeMappings; + /// sets mappings between OpenAPI spec properties name and generated code + /// var/param/model in the format of OpenAPIName=generatedName. + /// For example: update=updatable,_=underscore. + + /// --name-mappings + final Map? nameMappings; + /// 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. @@ -119,6 +126,7 @@ class Openapi { required this.generatorName, this.outputDirectory, this.typeMappings, + this.nameMappings, this.importMappings, this.reservedWordsMappings, this.inlineSchemaNameMappings, @@ -521,14 +529,6 @@ class DioProperties extends AdditionalProperties { } class DioAltProperties extends AdditionalProperties { - /// Changes the minimum version of Dart to 2.12 and generate null safe code - final bool? nullSafe; - - /// nullSafe-array-default - /// Makes even arrays that are not listed as being required in your OpenAPI "required" - /// but making them always generate a default value of [] - final bool? nullSafeArrayDefault; - /// This will turn off AnyOf support. This would be a bit weird, but you can do it if you want. final bool? listAnyOf; @@ -541,9 +541,7 @@ class DioAltProperties extends AdditionalProperties { final String? pubspecDevDependencies; const DioAltProperties( - {this.nullSafe, - this.nullSafeArrayDefault, - this.pubspecDependencies, + {this.pubspecDependencies, this.pubspecDevDependencies, this.listAnyOf, bool allowUnicodeIdentifiers = false, @@ -580,18 +578,13 @@ class DioAltProperties extends AdditionalProperties { wrapper: wrapper); DioAltProperties.fromMap(Map map) - : nullSafe = map['nullSafe'], - nullSafeArrayDefault = map['nullSafeArrayDefault'], - listAnyOf = map['listAnyOf'], + : listAnyOf = map['listAnyOf'], pubspecDependencies = map['pubspecDependencies'], pubspecDevDependencies = map['pubspecDevDependencies'], super.fromMap(map); Map toMap() => Map.from(super.toMap()) ..addAll({ - if (nullSafe != null) 'nullSafe': nullSafe, - if (nullSafeArrayDefault != null) - 'nullSafeArrayDefault': nullSafeArrayDefault, if (listAnyOf != null) 'listAnyOf': listAnyOf, if (pubspecDependencies != null) 'pubspecDependencies': pubspecDependencies, diff --git a/openapi-generator-cli/lib/openapi-generator.jar b/openapi-generator-cli/lib/openapi-generator.jar index 79fcfeb..08114c8 100644 Binary files a/openapi-generator-cli/lib/openapi-generator.jar and b/openapi-generator-cli/lib/openapi-generator.jar differ diff --git a/openapi-generator-cli/pom.xml b/openapi-generator-cli/pom.xml index d48e819..2be3743 100644 --- a/openapi-generator-cli/pom.xml +++ b/openapi-generator-cli/pom.xml @@ -47,13 +47,13 @@ org.openapitools openapi-generator-cli - 7.2.0 + 7.7.0 com.bluetrainsoftware.maven openapi-dart-generator - 7.2 + 8.1 diff --git a/openapi-generator/lib/src/models/generator_arguments.dart b/openapi-generator/lib/src/models/generator_arguments.dart index 2cbcbba..acda694 100644 --- a/openapi-generator/lib/src/models/generator_arguments.dart +++ b/openapi-generator/lib/src/models/generator_arguments.dart @@ -70,6 +70,9 @@ class GeneratorArguments { /// Defines mappings between OpenAPI spec types and generated types. final Map? typeMappings; + /// Defines mappings between OpenAPI spec var/param/model and generated code. + final Map? nameMappings; + /// Adds reserved words mappings. /// /// Supported by [Generator.dio] & [Generator.dioAlt] generators. @@ -89,6 +92,7 @@ class GeneratorArguments { generator = annotations.readPropertyOrDefault('generatorName', Generator.dart), typeMappings = annotations.readPropertyOrNull('typeMappings'), + nameMappings = annotations.readPropertyOrNull('nameMappings'), importMappings = annotations.readPropertyOrNull('importMappings'), reservedWordsMappings = annotations.readPropertyOrNull('reservedWordsMappings'), @@ -167,6 +171,8 @@ class GeneratorArguments { '--import-mappings=${importMappings!.entries.fold('', foldStringMap())}', if (typeMappings?.isNotEmpty ?? false) '--type-mappings=${typeMappings!.entries.fold('', foldStringMap())}', + if (nameMappings?.isNotEmpty ?? false) + '--name-mappings=${nameMappings!.entries.fold('', foldStringMap())}', if (inlineSchemaOptions != null) '--inline-schema-options=${inlineSchemaOptions!.toMap().entries.fold('', foldStringMap(keyModifier: convertToPropertyKey))}', if (additionalProperties != null)