diff --git a/src/Spec/Swagger2.php b/src/Spec/Swagger2.php index 9e7910dd8..a857c18ab 100644 --- a/src/Spec/Swagger2.php +++ b/src/Spec/Swagger2.php @@ -295,12 +295,14 @@ public function getDefinitions() { $sch = [ "name" => $key, "properties"=> $schema['properties'] ?? [], + "description"=> $schema['description'] ?? [], "required" => $schema['required'] ?? [], "additionalProperties" => $schema['additionalProperties'] ?? [] ]; if(isset($sch['properties'])) { foreach($sch['properties'] as $name => $def) { $sch['properties'][$name]['name'] = $name; + $sch['properties'][$name]['description'] = $def['description']; $sch['properties'][$name]['required'] = in_array($name,$sch['required']); if(isset($def['items']['$ref'])) { //nested model diff --git a/templates/flutter/lib/package.dart.twig b/templates/flutter/lib/package.dart.twig index 78d2cad12..9cbc4b9cf 100644 --- a/templates/flutter/lib/package.dart.twig +++ b/templates/flutter/lib/package.dart.twig @@ -8,7 +8,6 @@ import 'src/redirect_stub.dart' if (dart.library.html) 'src/redirect_browser.dart'; import 'src/enums.dart'; import 'src/client.dart'; -import 'src/response.dart'; import 'src/service.dart'; import 'models.dart' as models; diff --git a/templates/flutter/lib/src/models/model.dart.twig b/templates/flutter/lib/src/models/model.dart.twig index fc59ef133..429d9c2d5 100644 --- a/templates/flutter/lib/src/models/model.dart.twig +++ b/templates/flutter/lib/src/models/model.dart.twig @@ -1,8 +1,10 @@ {% macro sub_schema(property) %}{% if property.sub_schema %}{% if property.type == 'array' %}List<{{property.sub_schema | caseUcfirst}}>{% else %}{{property.sub_schema | caseUcfirst}}{% endif %}{% else %}{{property.type | typeName}}{% endif %}{% endmacro %} part of {{ language.params.packageName }}.models; +/// {{ definition.description }} class {{ definition.name | caseUcfirst }} { {% for property in definition.properties %} + /// {{ property.description }} final {% if not property.required %}{{_self.sub_schema(property)}}? {{ property.name | escapeKeyword }}{% else %}{{_self.sub_schema(property)}} {{ property.name | escapeKeyword }}{% endif %}; {% endfor %} {% if definition.additionalProperties %} diff --git a/templates/flutter/lib/src/realtime_mixin.dart.twig b/templates/flutter/lib/src/realtime_mixin.dart.twig index 61bf0bc73..7a348ec79 100644 --- a/templates/flutter/lib/src/realtime_mixin.dart.twig +++ b/templates/flutter/lib/src/realtime_mixin.dart.twig @@ -20,8 +20,8 @@ mixin RealtimeMixin { late WebSocketFactory getWebSocket; GetFallbackCookie? getFallbackCookie; - _closeConnection() { - _websok?.sink.close(normalClosure); + Future _closeConnection() async { + return await _websok?.sink.close(normalClosure); } _createSocket() async { @@ -32,7 +32,7 @@ mixin RealtimeMixin { if (_lastUrl == uri.toString() && _websok?.closeCode == null) { return; } - _closeConnection(); + await _closeConnection(); _lastUrl = uri.toString(); print('subscription: $_lastUrl'); _websok = await getWebSocket(uri); @@ -112,7 +112,7 @@ mixin RealtimeMixin { Future.delayed(Duration.zero, () => _createSocket()); RealtimeSubscription subscription = RealtimeSubscription( stream: controller.stream, - close: () { + close: () async { controller.close(); channels.forEach((channel) { this._channels[channel]!.remove(controller); @@ -121,9 +121,9 @@ mixin RealtimeMixin { } }); if(this._channels.isNotEmpty) { - Future.delayed(Duration.zero, () => _createSocket()); + await Future.delayed(Duration.zero, () => _createSocket()); } else { - _closeConnection(); + await _closeConnection(); } }); return subscription; diff --git a/templates/flutter/lib/src/realtime_subscription.dart.twig b/templates/flutter/lib/src/realtime_subscription.dart.twig index c7139a807..b36a86292 100644 --- a/templates/flutter/lib/src/realtime_subscription.dart.twig +++ b/templates/flutter/lib/src/realtime_subscription.dart.twig @@ -2,7 +2,7 @@ import 'realtime_message.dart'; class RealtimeSubscription { final Stream stream; - final Function() close; + final Future Function() close; RealtimeSubscription({required this.stream, required this.close}); }