diff --git a/bin/dart-jaguar-petstore.sh b/bin/dart-jaguar-petstore.sh index ea03b8b2fb6a..64d2762a6bea 100755 --- a/bin/dart-jaguar-petstore.sh +++ b/bin/dart-jaguar-petstore.sh @@ -28,11 +28,11 @@ fi export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties" # Generate client -ags="$@ generate -t modules/openapi-generator/src/main/resources/dart-jaguar -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -l dart-jaguar -o samples/client/petstore/dart-jaguar/openapi -DhideGenerationTimestamp=true" +ags="$@ generate -t modules/openapi-generator/src/main/resources/dart-jaguar -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -l dart-jaguar -o samples/client/petstore/dart-jaguar/openapi -DhideGenerationTimestamp=true -DpubName=openapi" java $JAVA_OPTS -jar $executable $ags # Generate non-browserClient and put it to the flutter sample app -ags="$@ generate -t modules/openapi-generator/src/main/resources/dart-jaguar -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -l dart-jaguar -o samples/client/petstore/dart-jaguar/flutter_petstore/openapi -DhideGenerationTimestamp=true" +ags="$@ generate -t modules/openapi-generator/src/main/resources/dart-jaguar -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -l dart-jaguar -o samples/client/petstore/dart-jaguar/flutter_petstore/openapi -DhideGenerationTimestamp=true -DpubName=openapi" java $JAVA_OPTS -jar $executable $ags # There is a proposal to allow importing different libraries depending on the environment: diff --git a/modules/openapi-generator/src/main/resources/dart-jaguar/README.mustache b/modules/openapi-generator/src/main/resources/dart-jaguar/README.mustache index 8887881dc355..f3e63b485e17 100644 --- a/modules/openapi-generator/src/main/resources/dart-jaguar/README.mustache +++ b/modules/openapi-generator/src/main/resources/dart-jaguar/README.mustache @@ -3,7 +3,7 @@ {{{appDescription}}} {{/appDescription}} -This Dart package is automatically generated by the [Swagger Codegen](https://github.com/swagger-api/swagger-codegen) project: +This Dart package is automatically generated by the [Open API Codegen](https://github.com/OpenAPITools/openapi-generator) project: - API version: {{appVersion}} {{#artifactVersion}} @@ -82,8 +82,8 @@ import 'package:{{pubName}}/api.dart'; {{/authMethods}} {{/hasAuthMethods}} -final swaggerGen = SwaggerGen(); -var api_instance = swaggerGen.get{{classname}}(); +final jaguarApiGen = JaguarApiGen(); +var api_instance = jaguarApiGen.get{{classname}}(); {{#allParams}} var {{paramName}} = {{#isListContainer}}[{{/isListContainer}}{{#isBodyParam}}new {{dataType}}(){{/isBodyParam}}{{^isBodyParam}}{{{example}}}{{/isBodyParam}}{{#isListContainer}}]{{/isListContainer}}; // {{{dataType}}} | {{{description}}} {{/allParams}} diff --git a/modules/openapi-generator/src/main/resources/dart-jaguar/api.mustache b/modules/openapi-generator/src/main/resources/dart-jaguar/api.mustache index 49d560fda8cb..762cb6a0fb11 100644 --- a/modules/openapi-generator/src/main/resources/dart-jaguar/api.mustache +++ b/modules/openapi-generator/src/main/resources/dart-jaguar/api.mustache @@ -25,7 +25,7 @@ class {{classname}} extends _${{classname}}Client implements ApiClient { @{{httpMethod}}Req(path: "{{path}}"{{#hasAuthMethods}}, metadata: {"auth": [{{#authMethods}} {"type": "{{type}}", "name": "{{name}}"{{#isApiKey}}, "keyName": "{{keyParamName}}", "where": "{{#isKeyInQuery}}query{{/isKeyInQuery}}{{#isKeyInHeader}}header{{/isKeyInHeader}}"{{/isApiKey}} }{{#hasMore}}, {{/hasMore}}{{/authMethods}}]}{{/hasAuthMethods}}) Future<{{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}void{{/returnType}}> {{nickname}}( {{#pathParams}} - {{dataType}} {{paramName}}{{#hasMore}}, {{/hasMore}} + @PathParam("{{baseName}}") {{dataType}} {{paramName}}{{#hasMore}}, {{/hasMore}} {{/pathParams}} {{#headerParams}} {{#-first}}{{#hasPathParams}},{{/hasPathParams}}{{/-first}} diff --git a/modules/openapi-generator/src/main/resources/dart-jaguar/apilib.mustache b/modules/openapi-generator/src/main/resources/dart-jaguar/apilib.mustache index 1696d1ac2d25..71cfe8618a20 100644 --- a/modules/openapi-generator/src/main/resources/dart-jaguar/apilib.mustache +++ b/modules/openapi-generator/src/main/resources/dart-jaguar/apilib.mustache @@ -18,16 +18,16 @@ final jsonJaguarRepo = JsonRepo() final _defaultInterceptors = [OAuthInterceptor(), BasicAuthInterceptor(), ApiKeyAuthInterceptor()]; -class SwaggerGen { +class JaguarApiGen { List interceptors; - String baseSwaggerPath = "{{basePath}}"; + String basePath = "{{basePath}}"; Route _baseRoute; /** - * Add custom global interceptors, put overrideInterceptors to true to set your interceptors only (auth interceptors will not be added) - */ - SwaggerGen({List interceptors, bool overrideInterceptors = false, String baseUrl}) { - _baseRoute = Route(baseUrl ?? baseSwaggerPath).withClient(globalClient ?? IOClient()); + * Add custom global interceptors, put overrideInterceptors to true to set your interceptors only (auth interceptors will not be added) + */ + JaguarApiGen({List interceptors, bool overrideInterceptors = false, String baseUrl}) { + _baseRoute = Route(baseUrl ?? basePath).withClient(globalClient ?? IOClient()); if(interceptors == null) { this.interceptors = _defaultInterceptors; } @@ -58,9 +58,9 @@ class SwaggerGen { {{#apiInfo}}{{#apis}} /** - * Get {{classname}} instance, base route and serializer can be overridden by a given but be careful, - * by doing that all interceptors will not be executed - */ + * Get {{classname}} instance, base route and serializer can be overridden by a given but be careful, + * by doing that all interceptors will not be executed + */ {{classname}} get{{classname}}({Route base, SerializerRepo serializers}) { if(base == null) { base = _baseRoute; @@ -72,4 +72,4 @@ class SwaggerGen { } {{/apis}}{{/apiInfo}} -} \ No newline at end of file +} diff --git a/modules/openapi-generator/src/main/resources/dart-jaguar/pubspec.mustache b/modules/openapi-generator/src/main/resources/dart-jaguar/pubspec.mustache index 6ef678060283..fb6dd286ab13 100644 --- a/modules/openapi-generator/src/main/resources/dart-jaguar/pubspec.mustache +++ b/modules/openapi-generator/src/main/resources/dart-jaguar/pubspec.mustache @@ -4,9 +4,9 @@ description: {{pubDescription}} environment: sdk: ">=2.0.0 <3.0.0" dependencies: - jaguar_retrofit: '^2.4.1' - jaguar_serializer: '^2.2.0' + jaguar_retrofit: '^2.5.4' + jaguar_serializer: '^2.2.2' dev_dependencies: - jaguar_retrofit_gen: '^2.4.2' + jaguar_retrofit_gen: '^2.5.1' jaguar_serializer_cli: '^2.2.1' build_runner: '^0.10.0' \ No newline at end of file diff --git a/samples/client/petstore/dart-jaguar/flutter_petstore/README.md b/samples/client/petstore/dart-jaguar/flutter_petstore/README.md index bfad735663d2..608ce5afa7a6 100644 --- a/samples/client/petstore/dart-jaguar/flutter_petstore/README.md +++ b/samples/client/petstore/dart-jaguar/flutter_petstore/README.md @@ -1,6 +1,6 @@ # flutter_petstore -Swagger petstore sample flutter +OpenApi petstore sample flutter ## Getting Started diff --git a/samples/client/petstore/dart-jaguar/flutter_petstore/ios/Flutter/flutter_assets/kernel_blob.bin b/samples/client/petstore/dart-jaguar/flutter_petstore/ios/Flutter/flutter_assets/kernel_blob.bin index ee40601dcc44..01682c7b4239 100644 Binary files a/samples/client/petstore/dart-jaguar/flutter_petstore/ios/Flutter/flutter_assets/kernel_blob.bin and b/samples/client/petstore/dart-jaguar/flutter_petstore/ios/Flutter/flutter_assets/kernel_blob.bin differ diff --git a/samples/client/petstore/dart-jaguar/flutter_petstore/lib/main.dart b/samples/client/petstore/dart-jaguar/flutter_petstore/lib/main.dart index 1fdb7fd922e9..bacf47c5dcaf 100644 --- a/samples/client/petstore/dart-jaguar/flutter_petstore/lib/main.dart +++ b/samples/client/petstore/dart-jaguar/flutter_petstore/lib/main.dart @@ -1,11 +1,16 @@ import 'package:flutter/material.dart'; import 'package:http/http.dart'; -import 'package:swagger/api.dart'; -import 'package:swagger/model/order.dart'; -import 'package:swagger/model/pet.dart'; -import 'package:swagger/model/user.dart'; +import 'package:openapi/api.dart'; +import 'package:openapi/model/order.dart'; +import 'package:openapi/model/pet.dart'; +import 'package:openapi/model/user.dart'; +import 'package:jaguar_resty/jaguar_resty.dart'; -void main() => runApp(MyApp()); + +void main() { + globalClient = IOClient(); + runApp(MyApp()); +} class MyApp extends StatelessWidget { // This widget is the root of your application. @@ -49,7 +54,7 @@ class MyHomePage extends StatefulWidget { class _MyHomePageState extends State { int _counter = 0; - SwaggerGen swaggerGen = SwaggerGen(); + JaguarApiGen jaguarApiGen = JaguarApiGen(); void _incrementCounter() { setState(() { @@ -74,12 +79,12 @@ class _MyHomePageState extends State { print('fetching pets by status...'); var statuses = List(); statuses.add('available'); - swaggerGen.getPetApi().findPetsByStatus(statuses) + jaguarApiGen.getPetApi().findPetsByStatus(statuses) .then((List pets) { print('pets received: '); print(pets); var order = Order(petId: pets[0].id, quantity: 1); - swaggerGen.getStoreApi().placeOrder(order) + jaguarApiGen.getStoreApi().placeOrder(order) .then((Order order) => print(order)); }).catchError((error) { print('error fetching pets'); @@ -89,7 +94,7 @@ class _MyHomePageState extends State { void fetchStoreInventory() { print('fetching inventory...'); - swaggerGen.getStoreApi().getInventory() + jaguarApiGen.getStoreApi().getInventory() .then((Map inventory) { print('inventory received: '); print(inventory); @@ -101,7 +106,7 @@ class _MyHomePageState extends State { void fetchUser() { print('fetching user1...'); - swaggerGen.getUserApi().getUserByName('user1') + jaguarApiGen.getUserApi().getUserByName('user1') .then((User user) { print('user received: '); print(user); diff --git a/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/README.md b/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/README.md index 3429d7ad1f8b..fc203a12f0cc 100644 --- a/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/README.md +++ b/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/README.md @@ -1,10 +1,10 @@ # openapi This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. -This Dart package is automatically generated by the [Swagger Codegen](https://github.com/swagger-api/swagger-codegen) project: +This Dart package is automatically generated by the [Open API Codegen](https://github.com/OpenAPITools/openapi-generator) project: - API version: 1.0.0 -- Build date: 2018-09-10T21:45:17.334+08:00[Asia/Hong_Kong] +- Build date: 2018-09-10T20:17:32.515369+02:00[Europe/Paris] - Build package: org.openapitools.codegen.languages.DartJaguarClientCodegen ## Requirements @@ -55,8 +55,8 @@ import 'package:openapi/api.dart'; // TODO Configure OAuth2 access token for authorization: petstore_auth //openapi.api.Configuration.accessToken = 'YOUR_ACCESS_TOKEN'; -final swaggerGen = SwaggerGen(); -var api_instance = swaggerGen.getPetApi(); +final jaguarApiGen = JaguarApiGen(); +var api_instance = jaguarApiGen.getPetApi(); var pet = new Pet(); // Pet | Pet object that needs to be added to the store try { diff --git a/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/api.dart b/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/api.dart index d4e0b00131ff..a911cfdc2c4f 100644 --- a/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/api.dart +++ b/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/api.dart @@ -30,15 +30,15 @@ final jsonJaguarRepo = JsonRepo() final _defaultInterceptors = [OAuthInterceptor(), BasicAuthInterceptor(), ApiKeyAuthInterceptor()]; -class SwaggerGen { +class JaguarApiGen { List interceptors; String baseSwaggerPath = "http://petstore.swagger.io/v2"; Route _baseRoute; /** - * Add custom global interceptors, put overrideInterceptors to true to set your interceptors only (auth interceptors will not be added) - */ - SwaggerGen({List interceptors, bool overrideInterceptors = false, String baseUrl}) { + * Add custom global interceptors, put overrideInterceptors to true to set your interceptors only (auth interceptors will not be added) + */ + JaguarApiGen({List interceptors, bool overrideInterceptors = false, String baseUrl}) { _baseRoute = Route(baseUrl ?? baseSwaggerPath).withClient(globalClient ?? IOClient()); if(interceptors == null) { this.interceptors = _defaultInterceptors; @@ -70,9 +70,9 @@ class SwaggerGen { /** - * Get PetApi instance, base route and serializer can be overridden by a given but be careful, - * by doing that all interceptors will not be executed - */ + * Get PetApi instance, base route and serializer can be overridden by a given but be careful, + * by doing that all interceptors will not be executed + */ PetApi getPetApi({Route base, SerializerRepo serializers}) { if(base == null) { base = _baseRoute; @@ -85,9 +85,9 @@ class SwaggerGen { /** - * Get StoreApi instance, base route and serializer can be overridden by a given but be careful, - * by doing that all interceptors will not be executed - */ + * Get StoreApi instance, base route and serializer can be overridden by a given but be careful, + * by doing that all interceptors will not be executed + */ StoreApi getStoreApi({Route base, SerializerRepo serializers}) { if(base == null) { base = _baseRoute; @@ -100,9 +100,9 @@ class SwaggerGen { /** - * Get UserApi instance, base route and serializer can be overridden by a given but be careful, - * by doing that all interceptors will not be executed - */ + * Get UserApi instance, base route and serializer can be overridden by a given but be careful, + * by doing that all interceptors will not be executed + */ UserApi getUserApi({Route base, SerializerRepo serializers}) { if(base == null) { base = _baseRoute; @@ -114,4 +114,4 @@ class SwaggerGen { } -} \ No newline at end of file +} diff --git a/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/api/pet_api.dart b/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/api/pet_api.dart index d2fa73c5319a..ae5f7e9c158e 100644 --- a/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/api/pet_api.dart +++ b/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/api/pet_api.dart @@ -31,7 +31,7 @@ class PetApi extends _$PetApiClient implements ApiClient { /// @DeleteReq(path: "/pet/:petId", metadata: {"auth": [ {"type": "oauth2", "name": "petstore_auth" }]}) Future deletePet( - int petId + @PathParam("petId") int petId , @Header("api_key") String apiKey ); @@ -59,7 +59,7 @@ class PetApi extends _$PetApiClient implements ApiClient { /// Returns a single pet @GetReq(path: "/pet/:petId", metadata: {"auth": [ {"type": "apiKey", "name": "api_key", "keyName": "api_key", "where": "header" }]}) Future getPetById( - int petId + @PathParam("petId") int petId ); /// Update an existing pet @@ -76,7 +76,7 @@ class PetApi extends _$PetApiClient implements ApiClient { /// @PostReq(path: "/pet/:petId", metadata: {"auth": [ {"type": "oauth2", "name": "petstore_auth" }]}) Future updatePetWithForm( - int petId + @PathParam("petId") int petId , @AsFormField() String name, @@ -88,7 +88,7 @@ class PetApi extends _$PetApiClient implements ApiClient { /// @PostReq(path: "/pet/:petId/uploadImage", metadata: {"auth": [ {"type": "oauth2", "name": "petstore_auth" }]}) Future uploadFile( - int petId + @PathParam("petId") int petId , @AsMultipartField() String additionalMetadata, diff --git a/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/api/pet_api.jretro.dart b/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/api/pet_api.jretro.dart new file mode 100644 index 000000000000..2abc826f1944 --- /dev/null +++ b/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/api/pet_api.jretro.dart @@ -0,0 +1,146 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'pet_api.dart'; + +// ************************************************************************** +// JaguarHttpGenerator +// ************************************************************************** + +abstract class _$PetApiClient implements ApiClient { + final String basePath = ""; + Future addPet(Pet pet) async { + var req = base.post + .metadata({ + "auth": [ + { + "type": "oauth2", + "name": "petstore_auth", + } + ], + }) + .path(basePath) + .path("/pet") + .json(serializers.to(pet)); + await req.go(); + } + + Future deletePet(int petId, String apiKey) async { + var req = base.delete + .metadata({ + "auth": [ + { + "type": "oauth2", + "name": "petstore_auth", + } + ], + }) + .path(basePath) + .path("/pet/:petId") + .pathParams("petId", petId) + .header("api_key", apiKey); + await req.go(); + } + + Future> findPetsByStatus(List status) async { + var req = base.get + .metadata({ + "auth": [ + { + "type": "oauth2", + "name": "petstore_auth", + } + ], + }) + .path(basePath) + .path("/pet/findByStatus") + .query("status", status); + return req.list(convert: serializers.oneFrom); + } + + Future> findPetsByTags(List tags) async { + var req = base.get + .metadata({ + "auth": [ + { + "type": "oauth2", + "name": "petstore_auth", + } + ], + }) + .path(basePath) + .path("/pet/findByTags") + .query("tags", tags); + return req.list(convert: serializers.oneFrom); + } + + Future getPetById(int petId) async { + var req = base.get + .metadata({ + "auth": [ + { + "type": "apiKey", + "name": "api_key", + "keyName": "api_key", + "where": "header", + } + ], + }) + .path(basePath) + .path("/pet/:petId") + .pathParams("petId", petId); + return req.one(convert: serializers.oneFrom); + } + + Future updatePet(Pet pet) async { + var req = base.put + .metadata({ + "auth": [ + { + "type": "oauth2", + "name": "petstore_auth", + } + ], + }) + .path(basePath) + .path("/pet") + .json(serializers.to(pet)); + await req.go(); + } + + Future updatePetWithForm(int petId, String name, String status) async { + var req = base.post + .metadata({ + "auth": [ + { + "type": "oauth2", + "name": "petstore_auth", + } + ], + }) + .path(basePath) + .path("/pet/:petId") + .pathParams("petId", petId) + .urlEncodedFormField(name, name) + .urlEncodedFormField(status, status); + await req.go(); + } + + Future uploadFile( + int petId, String additionalMetadata, MultipartFile file) async { + var req = base.post + .metadata({ + "auth": [ + { + "type": "oauth2", + "name": "petstore_auth", + } + ], + }) + .path(basePath) + .path("/pet/:petId/uploadImage") + .pathParams("petId", petId) + .multipart({"additionalMetadata": additionalMetadata}) + .multipart({"file": file}); + return req.one(convert: serializers.oneFrom); + } +} diff --git a/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/api/store_api.dart b/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/api/store_api.dart index 8462a8cbb774..b0e401042756 100644 --- a/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/api/store_api.dart +++ b/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/api/store_api.dart @@ -21,7 +21,7 @@ class StoreApi extends _$StoreApiClient implements ApiClient { /// For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors @DeleteReq(path: "/store/order/:orderId") Future deleteOrder( - String orderId + @PathParam("orderId") String orderId ); /// Returns pet inventories by status @@ -36,7 +36,7 @@ class StoreApi extends _$StoreApiClient implements ApiClient { /// For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions @GetReq(path: "/store/order/:orderId") Future getOrderById( - int orderId + @PathParam("orderId") int orderId ); /// Place an order for a pet diff --git a/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/api/store_api.jretro.dart b/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/api/store_api.jretro.dart new file mode 100644 index 000000000000..f3d3468b34b3 --- /dev/null +++ b/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/api/store_api.jretro.dart @@ -0,0 +1,51 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'store_api.dart'; + +// ************************************************************************** +// JaguarHttpGenerator +// ************************************************************************** + +abstract class _$StoreApiClient implements ApiClient { + final String basePath = ""; + Future deleteOrder(String orderId) async { + var req = base.delete + .path(basePath) + .path("/store/order/:orderId") + .pathParams("orderId", orderId); + await req.go(); + } + + Future> getInventory() async { + var req = base.get + .metadata({ + "auth": [ + { + "type": "apiKey", + "name": "api_key", + "keyName": "api_key", + "where": "header", + } + ], + }) + .path(basePath) + .path("/store/inventory"); + return req.one().then((v) => serializers.mapFrom(v)); + } + + Future getOrderById(int orderId) async { + var req = base.get + .path(basePath) + .path("/store/order/:orderId") + .pathParams("orderId", orderId); + return req.one(convert: serializers.oneFrom); + } + + Future placeOrder(Order order) async { + var req = base.post + .path(basePath) + .path("/store/order") + .json(serializers.to(order)); + return req.one(convert: serializers.oneFrom); + } +} diff --git a/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/api/user_api.dart b/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/api/user_api.dart index bbd9e373b9e9..337375075c24 100644 --- a/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/api/user_api.dart +++ b/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/api/user_api.dart @@ -48,7 +48,7 @@ class UserApi extends _$UserApiClient implements ApiClient { /// This can only be done by the logged in user. @DeleteReq(path: "/user/:username") Future deleteUser( - String username + @PathParam("username") String username ); /// Get user by user name @@ -56,7 +56,7 @@ class UserApi extends _$UserApiClient implements ApiClient { /// @GetReq(path: "/user/:username") Future getUserByName( - String username + @PathParam("username") String username ); /// Logs user into the system @@ -82,7 +82,7 @@ class UserApi extends _$UserApiClient implements ApiClient { /// This can only be done by the logged in user. @PutReq(path: "/user/:username") Future updateUser( - String username + @PathParam("username") String username , @AsJson() User user ); diff --git a/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/api/user_api.jretro.dart b/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/api/user_api.jretro.dart new file mode 100644 index 000000000000..5b68c3b0faf3 --- /dev/null +++ b/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/api/user_api.jretro.dart @@ -0,0 +1,70 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'user_api.dart'; + +// ************************************************************************** +// JaguarHttpGenerator +// ************************************************************************** + +abstract class _$UserApiClient implements ApiClient { + final String basePath = ""; + Future createUser(User user) async { + var req = base.post.path(basePath).path("/user").json(serializers.to(user)); + await req.go(); + } + + Future createUsersWithArrayInput(List user) async { + var req = base.post + .path(basePath) + .path("/user/createWithArray") + .json(serializers.to(user)); + await req.go(); + } + + Future createUsersWithListInput(List user) async { + var req = base.post + .path(basePath) + .path("/user/createWithList") + .json(serializers.to(user)); + await req.go(); + } + + Future deleteUser(String username) async { + var req = base.delete + .path(basePath) + .path("/user/:username") + .pathParams("username", username); + await req.go(); + } + + Future getUserByName(String username) async { + var req = base.get + .path(basePath) + .path("/user/:username") + .pathParams("username", username); + return req.one(convert: serializers.oneFrom); + } + + Future loginUser(String username, String password) async { + var req = base.get + .path(basePath) + .path("/user/login") + .query("username", username) + .query("password", password); + return req.one(); + } + + Future logoutUser() async { + var req = base.get.path(basePath).path("/user/logout"); + await req.go(); + } + + Future updateUser(String username, User user) async { + var req = base.put + .path(basePath) + .path("/user/:username") + .pathParams("username", username) + .json(serializers.to(user)); + await req.go(); + } +} diff --git a/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/model/api_response.jser.dart b/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/model/api_response.jser.dart new file mode 100644 index 000000000000..b4b6c090975c --- /dev/null +++ b/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/model/api_response.jser.dart @@ -0,0 +1,29 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'api_response.dart'; + +// ************************************************************************** +// JaguarSerializerGenerator +// ************************************************************************** + +abstract class _$ApiResponseSerializer implements Serializer { + @override + Map toMap(ApiResponse model) { + if (model == null) return null; + Map ret = {}; + setMapValue(ret, 'code', model.code); + setMapValue(ret, 'type', model.type); + setMapValue(ret, 'message', model.message); + return ret; + } + + @override + ApiResponse fromMap(Map map) { + if (map == null) return null; + final obj = new ApiResponse( + code: map['code'] as int ?? getJserDefault('code'), + type: map['type'] as String ?? getJserDefault('type'), + message: map['message'] as String ?? getJserDefault('message')); + return obj; + } +} diff --git a/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/model/category.jser.dart b/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/model/category.jser.dart new file mode 100644 index 000000000000..763bcd3dd6e2 --- /dev/null +++ b/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/model/category.jser.dart @@ -0,0 +1,27 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'category.dart'; + +// ************************************************************************** +// JaguarSerializerGenerator +// ************************************************************************** + +abstract class _$CategorySerializer implements Serializer { + @override + Map toMap(Category model) { + if (model == null) return null; + Map ret = {}; + setMapValue(ret, 'id', model.id); + setMapValue(ret, 'name', model.name); + return ret; + } + + @override + Category fromMap(Map map) { + if (map == null) return null; + final obj = new Category( + id: map['id'] as int ?? getJserDefault('id'), + name: map['name'] as String ?? getJserDefault('name')); + return obj; + } +} diff --git a/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/model/order.jser.dart b/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/model/order.jser.dart new file mode 100644 index 000000000000..52e5d7a01bad --- /dev/null +++ b/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/model/order.jser.dart @@ -0,0 +1,37 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'order.dart'; + +// ************************************************************************** +// JaguarSerializerGenerator +// ************************************************************************** + +abstract class _$OrderSerializer implements Serializer { + @override + Map toMap(Order model) { + if (model == null) return null; + Map ret = {}; + setMapValue(ret, 'id', model.id); + setMapValue(ret, 'petId', model.petId); + setMapValue(ret, 'quantity', model.quantity); + setMapValue( + ret, 'shipDate', dateTimeUtcProcessor.serialize(model.shipDate)); + setMapValue(ret, 'status', model.status); + setMapValue(ret, 'complete', model.complete); + return ret; + } + + @override + Order fromMap(Map map) { + if (map == null) return null; + final obj = new Order( + id: map['id'] as int ?? getJserDefault('id'), + petId: map['petId'] as int ?? getJserDefault('petId'), + quantity: map['quantity'] as int ?? getJserDefault('quantity'), + shipDate: dateTimeUtcProcessor.deserialize(map['shipDate'] as String) ?? + getJserDefault('shipDate'), + status: map['status'] as String ?? getJserDefault('status'), + complete: map['complete'] as bool ?? getJserDefault('complete')); + return obj; + } +} diff --git a/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/model/pet.jser.dart b/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/model/pet.jser.dart new file mode 100644 index 000000000000..ce4f22f96865 --- /dev/null +++ b/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/model/pet.jser.dart @@ -0,0 +1,47 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'pet.dart'; + +// ************************************************************************** +// JaguarSerializerGenerator +// ************************************************************************** + +abstract class _$PetSerializer implements Serializer { + Serializer __categorySerializer; + Serializer get _categorySerializer => + __categorySerializer ??= new CategorySerializer(); + Serializer __tagSerializer; + Serializer get _tagSerializer => __tagSerializer ??= new TagSerializer(); + @override + Map toMap(Pet model) { + if (model == null) return null; + Map ret = {}; + setMapValue(ret, 'id', model.id); + setMapValue(ret, 'category', _categorySerializer.toMap(model.category)); + setMapValue(ret, 'name', model.name); + setMapValue(ret, 'photoUrls', + codeIterable(model.photoUrls, (val) => val as String)); + setMapValue(ret, 'tags', + codeIterable(model.tags, (val) => _tagSerializer.toMap(val as Tag))); + setMapValue(ret, 'status', model.status); + return ret; + } + + @override + Pet fromMap(Map map) { + if (map == null) return null; + final obj = new Pet( + id: map['id'] as int ?? getJserDefault('id'), + category: _categorySerializer.fromMap(map['category'] as Map) ?? + getJserDefault('category'), + name: map['name'] as String ?? getJserDefault('name'), + photoUrls: codeIterable( + map['photoUrls'] as Iterable, (val) => val as String) ?? + getJserDefault('photoUrls'), + tags: codeIterable(map['tags'] as Iterable, + (val) => _tagSerializer.fromMap(val as Map)) ?? + getJserDefault('tags'), + status: map['status'] as String ?? getJserDefault('status')); + return obj; + } +} diff --git a/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/model/tag.jser.dart b/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/model/tag.jser.dart new file mode 100644 index 000000000000..cdb14e1783ee --- /dev/null +++ b/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/model/tag.jser.dart @@ -0,0 +1,27 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'tag.dart'; + +// ************************************************************************** +// JaguarSerializerGenerator +// ************************************************************************** + +abstract class _$TagSerializer implements Serializer { + @override + Map toMap(Tag model) { + if (model == null) return null; + Map ret = {}; + setMapValue(ret, 'id', model.id); + setMapValue(ret, 'name', model.name); + return ret; + } + + @override + Tag fromMap(Map map) { + if (map == null) return null; + final obj = new Tag( + id: map['id'] as int ?? getJserDefault('id'), + name: map['name'] as String ?? getJserDefault('name')); + return obj; + } +} diff --git a/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/model/user.jser.dart b/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/model/user.jser.dart new file mode 100644 index 000000000000..0eced9472d04 --- /dev/null +++ b/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/lib/model/user.jser.dart @@ -0,0 +1,39 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'user.dart'; + +// ************************************************************************** +// JaguarSerializerGenerator +// ************************************************************************** + +abstract class _$UserSerializer implements Serializer { + @override + Map toMap(User model) { + if (model == null) return null; + Map ret = {}; + setMapValue(ret, 'id', model.id); + setMapValue(ret, 'username', model.username); + setMapValue(ret, 'firstName', model.firstName); + setMapValue(ret, 'lastName', model.lastName); + setMapValue(ret, 'email', model.email); + setMapValue(ret, 'password', model.password); + setMapValue(ret, 'phone', model.phone); + setMapValue(ret, 'userStatus', model.userStatus); + return ret; + } + + @override + User fromMap(Map map) { + if (map == null) return null; + final obj = new User( + id: map['id'] as int ?? getJserDefault('id'), + username: map['username'] as String ?? getJserDefault('username'), + firstName: map['firstName'] as String ?? getJserDefault('firstName'), + lastName: map['lastName'] as String ?? getJserDefault('lastName'), + email: map['email'] as String ?? getJserDefault('email'), + password: map['password'] as String ?? getJserDefault('password'), + phone: map['phone'] as String ?? getJserDefault('phone'), + userStatus: map['userStatus'] as int ?? getJserDefault('userStatus')); + return obj; + } +} diff --git a/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/pubspec.yaml b/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/pubspec.yaml index 78403ea6507a..532ec86915fc 100644 --- a/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/pubspec.yaml +++ b/samples/client/petstore/dart-jaguar/flutter_petstore/openapi/pubspec.yaml @@ -4,9 +4,9 @@ description: OpenAPI API client environment: sdk: ">=2.0.0 <3.0.0" dependencies: - jaguar_retrofit: '^2.4.1' - jaguar_serializer: '^2.2.0' + jaguar_retrofit: '^2.5.4' + jaguar_serializer: '^2.2.2' dev_dependencies: - jaguar_retrofit_gen: '^2.4.2' + jaguar_retrofit_gen: '^2.5.1' jaguar_serializer_cli: '^2.2.1' build_runner: '^0.10.0' \ No newline at end of file diff --git a/samples/client/petstore/dart-jaguar/flutter_petstore/pubspec.yaml b/samples/client/petstore/dart-jaguar/flutter_petstore/pubspec.yaml index b5ff79c337ab..91824c470428 100644 --- a/samples/client/petstore/dart-jaguar/flutter_petstore/pubspec.yaml +++ b/samples/client/petstore/dart-jaguar/flutter_petstore/pubspec.yaml @@ -1,11 +1,11 @@ name: flutter_petstore -description: Swagger petstore sample flutter +description: OpenApi petstore sample flutter dependencies: flutter: sdk: flutter - swagger: - path: ./swagger + openapi: + path: ./openapi # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. diff --git a/samples/client/petstore/dart-jaguar/openapi/README.md b/samples/client/petstore/dart-jaguar/openapi/README.md index 234ae6abbc40..ef3d79e653f4 100644 --- a/samples/client/petstore/dart-jaguar/openapi/README.md +++ b/samples/client/petstore/dart-jaguar/openapi/README.md @@ -1,10 +1,10 @@ # openapi This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. -This Dart package is automatically generated by the [Swagger Codegen](https://github.com/swagger-api/swagger-codegen) project: +This Dart package is automatically generated by the [Open API Codegen](https://github.com/OpenAPITools/openapi-generator) project: - API version: 1.0.0 -- Build date: 2018-09-10T21:45:14.233+08:00[Asia/Hong_Kong] +- Build date: 2018-09-10T20:17:28.677286+02:00[Europe/Paris] - Build package: org.openapitools.codegen.languages.DartJaguarClientCodegen ## Requirements @@ -55,8 +55,8 @@ import 'package:openapi/api.dart'; // TODO Configure OAuth2 access token for authorization: petstore_auth //openapi.api.Configuration.accessToken = 'YOUR_ACCESS_TOKEN'; -final swaggerGen = SwaggerGen(); -var api_instance = swaggerGen.getPetApi(); +final jaguarApiGen = JaguarApiGen(); +var api_instance = jaguarApiGen.getPetApi(); var pet = new Pet(); // Pet | Pet object that needs to be added to the store try { diff --git a/samples/client/petstore/dart-jaguar/openapi/lib/api.dart b/samples/client/petstore/dart-jaguar/openapi/lib/api.dart index d4e0b00131ff..c0108e390f6f 100644 --- a/samples/client/petstore/dart-jaguar/openapi/lib/api.dart +++ b/samples/client/petstore/dart-jaguar/openapi/lib/api.dart @@ -30,16 +30,16 @@ final jsonJaguarRepo = JsonRepo() final _defaultInterceptors = [OAuthInterceptor(), BasicAuthInterceptor(), ApiKeyAuthInterceptor()]; -class SwaggerGen { +class JaguarApiGen { List interceptors; - String baseSwaggerPath = "http://petstore.swagger.io/v2"; + String basePath = "http://petstore.swagger.io/v2"; Route _baseRoute; /** - * Add custom global interceptors, put overrideInterceptors to true to set your interceptors only (auth interceptors will not be added) - */ - SwaggerGen({List interceptors, bool overrideInterceptors = false, String baseUrl}) { - _baseRoute = Route(baseUrl ?? baseSwaggerPath).withClient(globalClient ?? IOClient()); + * Add custom global interceptors, put overrideInterceptors to true to set your interceptors only (auth interceptors will not be added) + */ + JaguarApiGen({List interceptors, bool overrideInterceptors = false, String baseUrl}) { + _baseRoute = Route(baseUrl ?? basePath).withClient(globalClient ?? IOClient()); if(interceptors == null) { this.interceptors = _defaultInterceptors; } @@ -70,9 +70,9 @@ class SwaggerGen { /** - * Get PetApi instance, base route and serializer can be overridden by a given but be careful, - * by doing that all interceptors will not be executed - */ + * Get PetApi instance, base route and serializer can be overridden by a given but be careful, + * by doing that all interceptors will not be executed + */ PetApi getPetApi({Route base, SerializerRepo serializers}) { if(base == null) { base = _baseRoute; @@ -85,9 +85,9 @@ class SwaggerGen { /** - * Get StoreApi instance, base route and serializer can be overridden by a given but be careful, - * by doing that all interceptors will not be executed - */ + * Get StoreApi instance, base route and serializer can be overridden by a given but be careful, + * by doing that all interceptors will not be executed + */ StoreApi getStoreApi({Route base, SerializerRepo serializers}) { if(base == null) { base = _baseRoute; @@ -100,9 +100,9 @@ class SwaggerGen { /** - * Get UserApi instance, base route and serializer can be overridden by a given but be careful, - * by doing that all interceptors will not be executed - */ + * Get UserApi instance, base route and serializer can be overridden by a given but be careful, + * by doing that all interceptors will not be executed + */ UserApi getUserApi({Route base, SerializerRepo serializers}) { if(base == null) { base = _baseRoute; @@ -114,4 +114,4 @@ class SwaggerGen { } -} \ No newline at end of file +} diff --git a/samples/client/petstore/dart-jaguar/openapi/lib/api/pet_api.dart b/samples/client/petstore/dart-jaguar/openapi/lib/api/pet_api.dart index d2fa73c5319a..ae5f7e9c158e 100644 --- a/samples/client/petstore/dart-jaguar/openapi/lib/api/pet_api.dart +++ b/samples/client/petstore/dart-jaguar/openapi/lib/api/pet_api.dart @@ -31,7 +31,7 @@ class PetApi extends _$PetApiClient implements ApiClient { /// @DeleteReq(path: "/pet/:petId", metadata: {"auth": [ {"type": "oauth2", "name": "petstore_auth" }]}) Future deletePet( - int petId + @PathParam("petId") int petId , @Header("api_key") String apiKey ); @@ -59,7 +59,7 @@ class PetApi extends _$PetApiClient implements ApiClient { /// Returns a single pet @GetReq(path: "/pet/:petId", metadata: {"auth": [ {"type": "apiKey", "name": "api_key", "keyName": "api_key", "where": "header" }]}) Future getPetById( - int petId + @PathParam("petId") int petId ); /// Update an existing pet @@ -76,7 +76,7 @@ class PetApi extends _$PetApiClient implements ApiClient { /// @PostReq(path: "/pet/:petId", metadata: {"auth": [ {"type": "oauth2", "name": "petstore_auth" }]}) Future updatePetWithForm( - int petId + @PathParam("petId") int petId , @AsFormField() String name, @@ -88,7 +88,7 @@ class PetApi extends _$PetApiClient implements ApiClient { /// @PostReq(path: "/pet/:petId/uploadImage", metadata: {"auth": [ {"type": "oauth2", "name": "petstore_auth" }]}) Future uploadFile( - int petId + @PathParam("petId") int petId , @AsMultipartField() String additionalMetadata, diff --git a/samples/client/petstore/dart-jaguar/openapi/lib/api/pet_api.jretro.dart b/samples/client/petstore/dart-jaguar/openapi/lib/api/pet_api.jretro.dart new file mode 100644 index 000000000000..2abc826f1944 --- /dev/null +++ b/samples/client/petstore/dart-jaguar/openapi/lib/api/pet_api.jretro.dart @@ -0,0 +1,146 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'pet_api.dart'; + +// ************************************************************************** +// JaguarHttpGenerator +// ************************************************************************** + +abstract class _$PetApiClient implements ApiClient { + final String basePath = ""; + Future addPet(Pet pet) async { + var req = base.post + .metadata({ + "auth": [ + { + "type": "oauth2", + "name": "petstore_auth", + } + ], + }) + .path(basePath) + .path("/pet") + .json(serializers.to(pet)); + await req.go(); + } + + Future deletePet(int petId, String apiKey) async { + var req = base.delete + .metadata({ + "auth": [ + { + "type": "oauth2", + "name": "petstore_auth", + } + ], + }) + .path(basePath) + .path("/pet/:petId") + .pathParams("petId", petId) + .header("api_key", apiKey); + await req.go(); + } + + Future> findPetsByStatus(List status) async { + var req = base.get + .metadata({ + "auth": [ + { + "type": "oauth2", + "name": "petstore_auth", + } + ], + }) + .path(basePath) + .path("/pet/findByStatus") + .query("status", status); + return req.list(convert: serializers.oneFrom); + } + + Future> findPetsByTags(List tags) async { + var req = base.get + .metadata({ + "auth": [ + { + "type": "oauth2", + "name": "petstore_auth", + } + ], + }) + .path(basePath) + .path("/pet/findByTags") + .query("tags", tags); + return req.list(convert: serializers.oneFrom); + } + + Future getPetById(int petId) async { + var req = base.get + .metadata({ + "auth": [ + { + "type": "apiKey", + "name": "api_key", + "keyName": "api_key", + "where": "header", + } + ], + }) + .path(basePath) + .path("/pet/:petId") + .pathParams("petId", petId); + return req.one(convert: serializers.oneFrom); + } + + Future updatePet(Pet pet) async { + var req = base.put + .metadata({ + "auth": [ + { + "type": "oauth2", + "name": "petstore_auth", + } + ], + }) + .path(basePath) + .path("/pet") + .json(serializers.to(pet)); + await req.go(); + } + + Future updatePetWithForm(int petId, String name, String status) async { + var req = base.post + .metadata({ + "auth": [ + { + "type": "oauth2", + "name": "petstore_auth", + } + ], + }) + .path(basePath) + .path("/pet/:petId") + .pathParams("petId", petId) + .urlEncodedFormField(name, name) + .urlEncodedFormField(status, status); + await req.go(); + } + + Future uploadFile( + int petId, String additionalMetadata, MultipartFile file) async { + var req = base.post + .metadata({ + "auth": [ + { + "type": "oauth2", + "name": "petstore_auth", + } + ], + }) + .path(basePath) + .path("/pet/:petId/uploadImage") + .pathParams("petId", petId) + .multipart({"additionalMetadata": additionalMetadata}) + .multipart({"file": file}); + return req.one(convert: serializers.oneFrom); + } +} diff --git a/samples/client/petstore/dart-jaguar/openapi/lib/api/store_api.dart b/samples/client/petstore/dart-jaguar/openapi/lib/api/store_api.dart index 8462a8cbb774..b0e401042756 100644 --- a/samples/client/petstore/dart-jaguar/openapi/lib/api/store_api.dart +++ b/samples/client/petstore/dart-jaguar/openapi/lib/api/store_api.dart @@ -21,7 +21,7 @@ class StoreApi extends _$StoreApiClient implements ApiClient { /// For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors @DeleteReq(path: "/store/order/:orderId") Future deleteOrder( - String orderId + @PathParam("orderId") String orderId ); /// Returns pet inventories by status @@ -36,7 +36,7 @@ class StoreApi extends _$StoreApiClient implements ApiClient { /// For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions @GetReq(path: "/store/order/:orderId") Future getOrderById( - int orderId + @PathParam("orderId") int orderId ); /// Place an order for a pet diff --git a/samples/client/petstore/dart-jaguar/openapi/lib/api/store_api.jretro.dart b/samples/client/petstore/dart-jaguar/openapi/lib/api/store_api.jretro.dart new file mode 100644 index 000000000000..f3d3468b34b3 --- /dev/null +++ b/samples/client/petstore/dart-jaguar/openapi/lib/api/store_api.jretro.dart @@ -0,0 +1,51 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'store_api.dart'; + +// ************************************************************************** +// JaguarHttpGenerator +// ************************************************************************** + +abstract class _$StoreApiClient implements ApiClient { + final String basePath = ""; + Future deleteOrder(String orderId) async { + var req = base.delete + .path(basePath) + .path("/store/order/:orderId") + .pathParams("orderId", orderId); + await req.go(); + } + + Future> getInventory() async { + var req = base.get + .metadata({ + "auth": [ + { + "type": "apiKey", + "name": "api_key", + "keyName": "api_key", + "where": "header", + } + ], + }) + .path(basePath) + .path("/store/inventory"); + return req.one().then((v) => serializers.mapFrom(v)); + } + + Future getOrderById(int orderId) async { + var req = base.get + .path(basePath) + .path("/store/order/:orderId") + .pathParams("orderId", orderId); + return req.one(convert: serializers.oneFrom); + } + + Future placeOrder(Order order) async { + var req = base.post + .path(basePath) + .path("/store/order") + .json(serializers.to(order)); + return req.one(convert: serializers.oneFrom); + } +} diff --git a/samples/client/petstore/dart-jaguar/openapi/lib/api/user_api.dart b/samples/client/petstore/dart-jaguar/openapi/lib/api/user_api.dart index bbd9e373b9e9..337375075c24 100644 --- a/samples/client/petstore/dart-jaguar/openapi/lib/api/user_api.dart +++ b/samples/client/petstore/dart-jaguar/openapi/lib/api/user_api.dart @@ -48,7 +48,7 @@ class UserApi extends _$UserApiClient implements ApiClient { /// This can only be done by the logged in user. @DeleteReq(path: "/user/:username") Future deleteUser( - String username + @PathParam("username") String username ); /// Get user by user name @@ -56,7 +56,7 @@ class UserApi extends _$UserApiClient implements ApiClient { /// @GetReq(path: "/user/:username") Future getUserByName( - String username + @PathParam("username") String username ); /// Logs user into the system @@ -82,7 +82,7 @@ class UserApi extends _$UserApiClient implements ApiClient { /// This can only be done by the logged in user. @PutReq(path: "/user/:username") Future updateUser( - String username + @PathParam("username") String username , @AsJson() User user ); diff --git a/samples/client/petstore/dart-jaguar/openapi/lib/api/user_api.jretro.dart b/samples/client/petstore/dart-jaguar/openapi/lib/api/user_api.jretro.dart new file mode 100644 index 000000000000..5b68c3b0faf3 --- /dev/null +++ b/samples/client/petstore/dart-jaguar/openapi/lib/api/user_api.jretro.dart @@ -0,0 +1,70 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'user_api.dart'; + +// ************************************************************************** +// JaguarHttpGenerator +// ************************************************************************** + +abstract class _$UserApiClient implements ApiClient { + final String basePath = ""; + Future createUser(User user) async { + var req = base.post.path(basePath).path("/user").json(serializers.to(user)); + await req.go(); + } + + Future createUsersWithArrayInput(List user) async { + var req = base.post + .path(basePath) + .path("/user/createWithArray") + .json(serializers.to(user)); + await req.go(); + } + + Future createUsersWithListInput(List user) async { + var req = base.post + .path(basePath) + .path("/user/createWithList") + .json(serializers.to(user)); + await req.go(); + } + + Future deleteUser(String username) async { + var req = base.delete + .path(basePath) + .path("/user/:username") + .pathParams("username", username); + await req.go(); + } + + Future getUserByName(String username) async { + var req = base.get + .path(basePath) + .path("/user/:username") + .pathParams("username", username); + return req.one(convert: serializers.oneFrom); + } + + Future loginUser(String username, String password) async { + var req = base.get + .path(basePath) + .path("/user/login") + .query("username", username) + .query("password", password); + return req.one(); + } + + Future logoutUser() async { + var req = base.get.path(basePath).path("/user/logout"); + await req.go(); + } + + Future updateUser(String username, User user) async { + var req = base.put + .path(basePath) + .path("/user/:username") + .pathParams("username", username) + .json(serializers.to(user)); + await req.go(); + } +} diff --git a/samples/client/petstore/dart-jaguar/openapi/lib/model/api_response.jser.dart b/samples/client/petstore/dart-jaguar/openapi/lib/model/api_response.jser.dart new file mode 100644 index 000000000000..b4b6c090975c --- /dev/null +++ b/samples/client/petstore/dart-jaguar/openapi/lib/model/api_response.jser.dart @@ -0,0 +1,29 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'api_response.dart'; + +// ************************************************************************** +// JaguarSerializerGenerator +// ************************************************************************** + +abstract class _$ApiResponseSerializer implements Serializer { + @override + Map toMap(ApiResponse model) { + if (model == null) return null; + Map ret = {}; + setMapValue(ret, 'code', model.code); + setMapValue(ret, 'type', model.type); + setMapValue(ret, 'message', model.message); + return ret; + } + + @override + ApiResponse fromMap(Map map) { + if (map == null) return null; + final obj = new ApiResponse( + code: map['code'] as int ?? getJserDefault('code'), + type: map['type'] as String ?? getJserDefault('type'), + message: map['message'] as String ?? getJserDefault('message')); + return obj; + } +} diff --git a/samples/client/petstore/dart-jaguar/openapi/lib/model/category.jser.dart b/samples/client/petstore/dart-jaguar/openapi/lib/model/category.jser.dart new file mode 100644 index 000000000000..763bcd3dd6e2 --- /dev/null +++ b/samples/client/petstore/dart-jaguar/openapi/lib/model/category.jser.dart @@ -0,0 +1,27 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'category.dart'; + +// ************************************************************************** +// JaguarSerializerGenerator +// ************************************************************************** + +abstract class _$CategorySerializer implements Serializer { + @override + Map toMap(Category model) { + if (model == null) return null; + Map ret = {}; + setMapValue(ret, 'id', model.id); + setMapValue(ret, 'name', model.name); + return ret; + } + + @override + Category fromMap(Map map) { + if (map == null) return null; + final obj = new Category( + id: map['id'] as int ?? getJserDefault('id'), + name: map['name'] as String ?? getJserDefault('name')); + return obj; + } +} diff --git a/samples/client/petstore/dart-jaguar/openapi/lib/model/order.jser.dart b/samples/client/petstore/dart-jaguar/openapi/lib/model/order.jser.dart new file mode 100644 index 000000000000..52e5d7a01bad --- /dev/null +++ b/samples/client/petstore/dart-jaguar/openapi/lib/model/order.jser.dart @@ -0,0 +1,37 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'order.dart'; + +// ************************************************************************** +// JaguarSerializerGenerator +// ************************************************************************** + +abstract class _$OrderSerializer implements Serializer { + @override + Map toMap(Order model) { + if (model == null) return null; + Map ret = {}; + setMapValue(ret, 'id', model.id); + setMapValue(ret, 'petId', model.petId); + setMapValue(ret, 'quantity', model.quantity); + setMapValue( + ret, 'shipDate', dateTimeUtcProcessor.serialize(model.shipDate)); + setMapValue(ret, 'status', model.status); + setMapValue(ret, 'complete', model.complete); + return ret; + } + + @override + Order fromMap(Map map) { + if (map == null) return null; + final obj = new Order( + id: map['id'] as int ?? getJserDefault('id'), + petId: map['petId'] as int ?? getJserDefault('petId'), + quantity: map['quantity'] as int ?? getJserDefault('quantity'), + shipDate: dateTimeUtcProcessor.deserialize(map['shipDate'] as String) ?? + getJserDefault('shipDate'), + status: map['status'] as String ?? getJserDefault('status'), + complete: map['complete'] as bool ?? getJserDefault('complete')); + return obj; + } +} diff --git a/samples/client/petstore/dart-jaguar/openapi/lib/model/pet.jser.dart b/samples/client/petstore/dart-jaguar/openapi/lib/model/pet.jser.dart new file mode 100644 index 000000000000..ce4f22f96865 --- /dev/null +++ b/samples/client/petstore/dart-jaguar/openapi/lib/model/pet.jser.dart @@ -0,0 +1,47 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'pet.dart'; + +// ************************************************************************** +// JaguarSerializerGenerator +// ************************************************************************** + +abstract class _$PetSerializer implements Serializer { + Serializer __categorySerializer; + Serializer get _categorySerializer => + __categorySerializer ??= new CategorySerializer(); + Serializer __tagSerializer; + Serializer get _tagSerializer => __tagSerializer ??= new TagSerializer(); + @override + Map toMap(Pet model) { + if (model == null) return null; + Map ret = {}; + setMapValue(ret, 'id', model.id); + setMapValue(ret, 'category', _categorySerializer.toMap(model.category)); + setMapValue(ret, 'name', model.name); + setMapValue(ret, 'photoUrls', + codeIterable(model.photoUrls, (val) => val as String)); + setMapValue(ret, 'tags', + codeIterable(model.tags, (val) => _tagSerializer.toMap(val as Tag))); + setMapValue(ret, 'status', model.status); + return ret; + } + + @override + Pet fromMap(Map map) { + if (map == null) return null; + final obj = new Pet( + id: map['id'] as int ?? getJserDefault('id'), + category: _categorySerializer.fromMap(map['category'] as Map) ?? + getJserDefault('category'), + name: map['name'] as String ?? getJserDefault('name'), + photoUrls: codeIterable( + map['photoUrls'] as Iterable, (val) => val as String) ?? + getJserDefault('photoUrls'), + tags: codeIterable(map['tags'] as Iterable, + (val) => _tagSerializer.fromMap(val as Map)) ?? + getJserDefault('tags'), + status: map['status'] as String ?? getJserDefault('status')); + return obj; + } +} diff --git a/samples/client/petstore/dart-jaguar/openapi/lib/model/tag.jser.dart b/samples/client/petstore/dart-jaguar/openapi/lib/model/tag.jser.dart new file mode 100644 index 000000000000..cdb14e1783ee --- /dev/null +++ b/samples/client/petstore/dart-jaguar/openapi/lib/model/tag.jser.dart @@ -0,0 +1,27 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'tag.dart'; + +// ************************************************************************** +// JaguarSerializerGenerator +// ************************************************************************** + +abstract class _$TagSerializer implements Serializer { + @override + Map toMap(Tag model) { + if (model == null) return null; + Map ret = {}; + setMapValue(ret, 'id', model.id); + setMapValue(ret, 'name', model.name); + return ret; + } + + @override + Tag fromMap(Map map) { + if (map == null) return null; + final obj = new Tag( + id: map['id'] as int ?? getJserDefault('id'), + name: map['name'] as String ?? getJserDefault('name')); + return obj; + } +} diff --git a/samples/client/petstore/dart-jaguar/openapi/lib/model/user.jser.dart b/samples/client/petstore/dart-jaguar/openapi/lib/model/user.jser.dart new file mode 100644 index 000000000000..0eced9472d04 --- /dev/null +++ b/samples/client/petstore/dart-jaguar/openapi/lib/model/user.jser.dart @@ -0,0 +1,39 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'user.dart'; + +// ************************************************************************** +// JaguarSerializerGenerator +// ************************************************************************** + +abstract class _$UserSerializer implements Serializer { + @override + Map toMap(User model) { + if (model == null) return null; + Map ret = {}; + setMapValue(ret, 'id', model.id); + setMapValue(ret, 'username', model.username); + setMapValue(ret, 'firstName', model.firstName); + setMapValue(ret, 'lastName', model.lastName); + setMapValue(ret, 'email', model.email); + setMapValue(ret, 'password', model.password); + setMapValue(ret, 'phone', model.phone); + setMapValue(ret, 'userStatus', model.userStatus); + return ret; + } + + @override + User fromMap(Map map) { + if (map == null) return null; + final obj = new User( + id: map['id'] as int ?? getJserDefault('id'), + username: map['username'] as String ?? getJserDefault('username'), + firstName: map['firstName'] as String ?? getJserDefault('firstName'), + lastName: map['lastName'] as String ?? getJserDefault('lastName'), + email: map['email'] as String ?? getJserDefault('email'), + password: map['password'] as String ?? getJserDefault('password'), + phone: map['phone'] as String ?? getJserDefault('phone'), + userStatus: map['userStatus'] as int ?? getJserDefault('userStatus')); + return obj; + } +} diff --git a/samples/client/petstore/dart-jaguar/openapi/pubspec.yaml b/samples/client/petstore/dart-jaguar/openapi/pubspec.yaml index 78403ea6507a..532ec86915fc 100644 --- a/samples/client/petstore/dart-jaguar/openapi/pubspec.yaml +++ b/samples/client/petstore/dart-jaguar/openapi/pubspec.yaml @@ -4,9 +4,9 @@ description: OpenAPI API client environment: sdk: ">=2.0.0 <3.0.0" dependencies: - jaguar_retrofit: '^2.4.1' - jaguar_serializer: '^2.2.0' + jaguar_retrofit: '^2.5.4' + jaguar_serializer: '^2.2.2' dev_dependencies: - jaguar_retrofit_gen: '^2.4.2' + jaguar_retrofit_gen: '^2.5.1' jaguar_serializer_cli: '^2.2.1' build_runner: '^0.10.0' \ No newline at end of file