From df2c927dcb76bab9794c0d018204d24ae5004dfb Mon Sep 17 00:00:00 2001 From: agilob Date: Wed, 22 Jul 2020 10:14:36 +0100 Subject: [PATCH] [Dart] Annotate required named parameters in model (#6798) --- .../src/main/resources/dart2/apilib.mustache | 1 + .../src/main/resources/dart2/class.mustache | 2 +- .../src/main/resources/dart2/pubspec.mustache | 1 + .../petstore/dart2/petstore/test/pet_test.dart | 12 ++++++------ .../petstore/dart2/petstore_client_lib/lib/api.dart | 1 + .../dart2/petstore_client_lib/lib/model/pet.dart | 4 ++-- .../petstore/dart2/petstore_client_lib/pubspec.yaml | 1 + 7 files changed, 13 insertions(+), 9 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/dart2/apilib.mustache b/modules/openapi-generator/src/main/resources/dart2/apilib.mustache index 365ae92eb1d..14c674c97de 100644 --- a/modules/openapi-generator/src/main/resources/dart2/apilib.mustache +++ b/modules/openapi-generator/src/main/resources/dart2/apilib.mustache @@ -3,6 +3,7 @@ library {{pubName}}.api; import 'dart:async'; import 'dart:convert'; import 'package:http/http.dart'; +import 'package:meta/meta.dart'; part 'api_client.dart'; part 'api_helper.dart'; diff --git a/modules/openapi-generator/src/main/resources/dart2/class.mustache b/modules/openapi-generator/src/main/resources/dart2/class.mustache index 6c7eca10552..0a32e58c7ab 100644 --- a/modules/openapi-generator/src/main/resources/dart2/class.mustache +++ b/modules/openapi-generator/src/main/resources/dart2/class.mustache @@ -9,7 +9,7 @@ class {{classname}} { {{classname}}({ {{#vars}} - this.{{name}}, + {{#required}}@required this.{{name}},{{/required}}{{^required}}this.{{name}},{{/required}} {{/vars}} }); diff --git a/modules/openapi-generator/src/main/resources/dart2/pubspec.mustache b/modules/openapi-generator/src/main/resources/dart2/pubspec.mustache index 6f1bd2bb4a0..ab082fe34d8 100644 --- a/modules/openapi-generator/src/main/resources/dart2/pubspec.mustache +++ b/modules/openapi-generator/src/main/resources/dart2/pubspec.mustache @@ -8,5 +8,6 @@ environment: sdk: '>=2.0.0 <3.0.0' dependencies: http: '>=0.12.0 <0.13.0' + meta: ^1.1.8 dev_dependencies: test: ^1.3.0 diff --git a/samples/client/petstore/dart2/petstore/test/pet_test.dart b/samples/client/petstore/dart2/petstore/test/pet_test.dart index 5898c221607..1ec614e0fdd 100644 --- a/samples/client/petstore/dart2/petstore/test/pet_test.dart +++ b/samples/client/petstore/dart2/petstore/test/pet_test.dart @@ -26,13 +26,13 @@ void main() { ..name = 'Jose' ]; return Pet( - id : id, - category: category, - tags: tags, - name: name, + id : id, + category: category, + name: name, //required field + photoUrls: ['https://petstore.com/sample/photo1.jpg'] //required field ) - ..status = status - ..photoUrls = ['https://petstore.com/sample/photo1.jpg']; + ..tags = tags + ..status = ''; } group('Pet API with live client', () { diff --git a/samples/client/petstore/dart2/petstore_client_lib/lib/api.dart b/samples/client/petstore/dart2/petstore_client_lib/lib/api.dart index e73e8722381..c13c8922431 100644 --- a/samples/client/petstore/dart2/petstore_client_lib/lib/api.dart +++ b/samples/client/petstore/dart2/petstore_client_lib/lib/api.dart @@ -3,6 +3,7 @@ library openapi.api; import 'dart:async'; import 'dart:convert'; import 'package:http/http.dart'; +import 'package:meta/meta.dart'; part 'api_client.dart'; part 'api_helper.dart'; diff --git a/samples/client/petstore/dart2/petstore_client_lib/lib/model/pet.dart b/samples/client/petstore/dart2/petstore_client_lib/lib/model/pet.dart index 4b9c7869e65..507661984e2 100644 --- a/samples/client/petstore/dart2/petstore_client_lib/lib/model/pet.dart +++ b/samples/client/petstore/dart2/petstore_client_lib/lib/model/pet.dart @@ -18,8 +18,8 @@ class Pet { Pet({ this.id, this.category, - this.name, - this.photoUrls, + @required this.name, + @required this.photoUrls, this.tags, this.status, }); diff --git a/samples/client/petstore/dart2/petstore_client_lib/pubspec.yaml b/samples/client/petstore/dart2/petstore_client_lib/pubspec.yaml index 58c44ac9eb5..023b0822fdf 100644 --- a/samples/client/petstore/dart2/petstore_client_lib/pubspec.yaml +++ b/samples/client/petstore/dart2/petstore_client_lib/pubspec.yaml @@ -8,5 +8,6 @@ environment: sdk: '>=2.0.0 <3.0.0' dependencies: http: '>=0.12.0 <0.13.0' + meta: ^1.1.8 dev_dependencies: test: ^1.3.0