From e137630eb613403212740acb0eb82c59ab4b8a97 Mon Sep 17 00:00:00 2001 From: Herbert Poul Date: Sun, 26 May 2024 12:39:04 +0200 Subject: [PATCH] Support `additionalProperties` for inherited models/schemas --- packages/openapi_base/CHANGELOG.md | 2 +- packages/openapi_base/pubspec.yaml | 2 +- packages/openapi_code_builder/CHANGELOG.md | 4 + .../example/lib/src/api/testapi.openapi.dart | 104 ++++++++++++++++ .../lib/src/api/testapi.openapi.g.dart | 58 +++++++++ .../example/lib/src/api/testapi.openapi.yaml | 9 ++ .../openapi_code_builder/example/pubspec.lock | 111 +++++++++++------- .../lib/src/openapi_code_builder.dart | 15 ++- packages/openapi_code_builder/pubspec.lock | 65 ++++++---- packages/openapi_code_builder/pubspec.yaml | 2 +- 10 files changed, 296 insertions(+), 76 deletions(-) diff --git a/packages/openapi_base/CHANGELOG.md b/packages/openapi_base/CHANGELOG.md index 4cece87..ee01261 100644 --- a/packages/openapi_base/CHANGELOG.md +++ b/packages/openapi_base/CHANGELOG.md @@ -1,4 +1,4 @@ -## 1.3.2-rc.1 +## 1.3.2 * Allow encoding optional parameters. diff --git a/packages/openapi_base/pubspec.yaml b/packages/openapi_base/pubspec.yaml index 3270cb6..7b682f5 100644 --- a/packages/openapi_base/pubspec.yaml +++ b/packages/openapi_base/pubspec.yaml @@ -1,6 +1,6 @@ name: openapi_base description: Open API base implementation for client/server to be used with openapi_code_builder. -version: 1.3.2-rc.1 +version: 1.3.2 homepage: https://github.com/hpoul/openapi_dart/tree/master/packages/openapi_base environment: diff --git a/packages/openapi_code_builder/CHANGELOG.md b/packages/openapi_code_builder/CHANGELOG.md index af5756d..1687663 100644 --- a/packages/openapi_code_builder/CHANGELOG.md +++ b/packages/openapi_code_builder/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.3.2 + +* Support `additionalProperties` for inherited models/schemas. + ## 1.3.1 * use import `riverpod/riverpod.dart` instead of `hooks_riverpod` diff --git a/packages/openapi_code_builder/example/lib/src/api/testapi.openapi.dart b/packages/openapi_code_builder/example/lib/src/api/testapi.openapi.dart index 483d463..95ae0c3 100644 --- a/packages/openapi_code_builder/example/lib/src/api/testapi.openapi.dart +++ b/packages/openapi_code_builder/example/lib/src/api/testapi.openapi.dart @@ -70,6 +70,108 @@ class HelloResponse implements OpenApiContent { String toString() => toJson().toString(); } +@JsonSerializable() +@ApiUuidJsonConverter() +class InheritanceBase implements OpenApiContent { + InheritanceBase({this.test1}); + + factory InheritanceBase.fromJson(Map jsonMap) => + _$InheritanceBaseFromJson(jsonMap) + .._additionalProperties.addEntries(jsonMap.entries + .where((e) => !const {'test1'}.contains(e.key))); + + @JsonKey( + name: 'test1', + includeIfNull: false, + ) + final String? test1; + + final Map _additionalProperties = {}; + + Map toJson() => + Map.from(_additionalProperties)..addAll(_$InheritanceBaseToJson(this)); + + @override + String toString() => toJson().toString(); + + void operator []=( + String key, + Object value, + ) => + _additionalProperties[key] = value; + + Object? operator [](String key) => _additionalProperties[key]; +} + +@JsonSerializable() +@ApiUuidJsonConverter() +class InheritanceChildBase implements OpenApiContent { + InheritanceChildBase({this.test2}); + + factory InheritanceChildBase.fromJson(Map jsonMap) => + _$InheritanceChildBaseFromJson(jsonMap); + + @JsonKey( + name: 'test2', + includeIfNull: false, + ) + final String? test2; + + Map toJson() => _$InheritanceChildBaseToJson(this); + + @override + String toString() => toJson().toString(); +} + +@JsonSerializable() +@ApiUuidJsonConverter() +class InheritanceChild + implements OpenApiContent, InheritanceBase, InheritanceChildBase { + InheritanceChild({ + this.test2, + this.test1, + }); + + factory InheritanceChild.fromJson(Map jsonMap) => + _$InheritanceChildFromJson(jsonMap) + .._additionalProperties + .addEntries(jsonMap.entries.where((e) => !const { + 'test2', + 'test1', + }.contains(e.key))); + + @JsonKey( + name: 'test2', + includeIfNull: false, + ) + @override + final String? test2; + + @JsonKey( + name: 'test1', + includeIfNull: false, + ) + @override + final String? test1; + + final Map _additionalProperties = {}; + + @override + Map toJson() => + Map.from(_additionalProperties)..addAll(_$InheritanceChildToJson(this)); + + @override + String toString() => toJson().toString(); + + void operator []=( + String key, + Object value, + ) => + _additionalProperties[key] = value; + + Object? operator [](String key) => _additionalProperties[key]; +} + class UserRegisterPostResponse200 extends UserRegisterPostResponse { /// OK UserRegisterPostResponse200.response200() : status = 200; @@ -784,3 +886,5 @@ class TestApiRouter extends OpenApiServerRouterBase { } class SecuritySchemes {} + +T _throwStateError(String message) => throw StateError(message); diff --git a/packages/openapi_code_builder/example/lib/src/api/testapi.openapi.g.dart b/packages/openapi_code_builder/example/lib/src/api/testapi.openapi.g.dart index 896ca45..0d90992 100644 --- a/packages/openapi_code_builder/example/lib/src/api/testapi.openapi.g.dart +++ b/packages/openapi_code_builder/example/lib/src/api/testapi.openapi.g.dart @@ -51,6 +51,64 @@ Map _$HelloResponseToJson(HelloResponse instance) { return val; } +InheritanceBase _$InheritanceBaseFromJson(Map json) => + InheritanceBase( + test1: json['test1'] as String?, + ); + +Map _$InheritanceBaseToJson(InheritanceBase instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('test1', instance.test1); + return val; +} + +InheritanceChildBase _$InheritanceChildBaseFromJson( + Map json) => + InheritanceChildBase( + test2: json['test2'] as String?, + ); + +Map _$InheritanceChildBaseToJson( + InheritanceChildBase instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('test2', instance.test2); + return val; +} + +InheritanceChild _$InheritanceChildFromJson(Map json) => + InheritanceChild( + test2: json['test2'] as String?, + test1: json['test1'] as String?, + ); + +Map _$InheritanceChildToJson(InheritanceChild instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('test2', instance.test2); + writeNotNull('test1', instance.test1); + return val; +} + UuidExampleMessageIdGetResponseBody200 _$UuidExampleMessageIdGetResponseBody200FromJson( Map json) => diff --git a/packages/openapi_code_builder/example/lib/src/api/testapi.openapi.yaml b/packages/openapi_code_builder/example/lib/src/api/testapi.openapi.yaml index 9882301..89df6aa 100644 --- a/packages/openapi_code_builder/example/lib/src/api/testapi.openapi.yaml +++ b/packages/openapi_code_builder/example/lib/src/api/testapi.openapi.yaml @@ -112,3 +112,12 @@ components: message: type: string description: 'The Hello World greeting ;-)' + InheritanceBase: + properties: + test1: { type: string } + additionalProperties: true + InheritanceChild: + allOf: + - $ref: "#/components/schemas/InheritanceBase" + - properties: + test2: { type: string } diff --git a/packages/openapi_code_builder/example/pubspec.lock b/packages/openapi_code_builder/example/pubspec.lock index eef8566..40127e9 100644 --- a/packages/openapi_code_builder/example/pubspec.lock +++ b/packages/openapi_code_builder/example/pubspec.lock @@ -5,26 +5,31 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: "0f7b1783ddb1e4600580b8c00d0ddae5b06ae7f0382bd4fcce5db4df97b618e1" + sha256: "5aaf60d96c4cd00fe7f21594b5ad6a1b699c80a27420f8a837f4d68473ef09e3" url: "https://pub.dev" source: hosted - version: "66.0.0" + version: "68.0.0" + _macros: + dependency: transitive + description: dart + source: sdk + version: "0.1.0" analyzer: dependency: transitive description: name: analyzer - sha256: "5e8bdcda061d91da6b034d64d8e4026f355bcb8c3e7a0ac2da1523205a91a737" + sha256: "21f1d3720fd1c70316399d5e2bccaebb415c434592d778cce8acb967b8578808" url: "https://pub.dev" source: hosted - version: "6.4.0" + version: "6.5.0" args: dependency: transitive description: name: args - sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596 + sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a" url: "https://pub.dev" source: hosted - version: "2.4.2" + version: "2.5.0" async: dependency: transitive description: @@ -61,10 +66,10 @@ packages: dependency: transitive description: name: build_daemon - sha256: "0343061a33da9c5810b2d6cee51945127d8f4c060b7fbdd9d54917f0a3feaaa1" + sha256: "79b2aef6ac2ed00046867ed354c88778c9c0f029df8a20fe10b5436826721ef9" url: "https://pub.dev" source: hosted - version: "4.0.1" + version: "4.0.2" build_resolvers: dependency: transitive description: @@ -77,18 +82,18 @@ packages: dependency: "direct dev" description: name: build_runner - sha256: "581bacf68f89ec8792f5e5a0b2c4decd1c948e97ce659dc783688c8a88fbec21" + sha256: "1414d6d733a85d8ad2f1dfcb3ea7945759e35a123cb99ccfac75d0758f75edfa" url: "https://pub.dev" source: hosted - version: "2.4.8" + version: "2.4.10" build_runner_core: dependency: transitive description: name: build_runner_core - sha256: c9e32d21dd6626b5c163d48b037ce906bbe428bc23ab77bcd77bb21e593b6185 + sha256: "4ae8ffe5ac758da294ecf1802f2aff01558d8b1b00616aa7538ea9a8a5d50799" url: "https://pub.dev" source: hosted - version: "7.2.11" + version: "7.3.0" built_collection: dependency: transitive description: @@ -101,10 +106,10 @@ packages: dependency: transitive description: name: built_value - sha256: a3ec2e0f967bc47f69f95009bb93db936288d61d5343b9436e378b28a2f830c6 + sha256: c7913a9737ee4007efedaffc968c049fd0f3d0e49109e778edc10de9426005cb url: "https://pub.dev" source: hosted - version: "8.9.0" + version: "8.9.2" checked_yaml: dependency: transitive description: @@ -173,18 +178,18 @@ packages: dependency: transitive description: name: dart_style - sha256: "40ae61a5d43feea6d24bd22c0537a6629db858963b99b4bc1c3db80676f32368" + sha256: "99e066ce75c89d6b29903d788a7bb9369cf754f7b24bf70bf4b6d6d6b26853b9" url: "https://pub.dev" source: hosted - version: "2.3.4" + version: "2.3.6" dio: dependency: transitive description: name: dio - sha256: "797e1e341c3dd2f69f2dad42564a6feff3bfb87187d05abb93b9609e6f1645c3" + sha256: "11e40df547d418cc0c4900a9318b26304e665da6fa4755399a9ff9efd09034b5" url: "https://pub.dev" source: hosted - version: "5.4.0" + version: "5.4.3+1" file: dependency: transitive description: @@ -205,10 +210,10 @@ packages: dependency: "direct dev" description: name: freezed - sha256: "6c5031daae12c7072b3a87eff98983076434b4889ef2a44384d0cae3f82372ba" + sha256: "5606fb95d54f3bb241b3e12dcfb65ba7494c775c4cb458334eccceb07334a3d9" url: "https://pub.dev" source: hosted - version: "2.4.6" + version: "2.5.3" freezed_annotation: dependency: "direct main" description: @@ -221,10 +226,10 @@ packages: dependency: transitive description: name: frontend_server_client - sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612" + sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694 url: "https://pub.dev" source: hosted - version: "3.2.0" + version: "4.0.0" glob: dependency: transitive description: @@ -245,10 +250,10 @@ packages: dependency: transitive description: name: http - sha256: a2bbf9d017fcced29139daa8ed2bba4ece450ab222871df93ca9eec6f80c34ba + sha256: "761a297c042deedc1ffbb156d6e2af13886bb305c2a343a4d972504cd67dd938" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.2.1" http_multi_server: dependency: transitive description: @@ -285,26 +290,26 @@ packages: dependency: transitive description: name: js - sha256: "4186c61b32f99e60f011f7160e32c89a758ae9b1d0c6d28e2c02ef0382300e2b" + sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf url: "https://pub.dev" source: hosted - version: "0.7.0" + version: "0.7.1" json_annotation: dependency: "direct main" description: name: json_annotation - sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467 + sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1" url: "https://pub.dev" source: hosted - version: "4.8.1" + version: "4.9.0" json_serializable: dependency: "direct dev" description: name: json_serializable - sha256: aa1f5a8912615733e0fdc7a02af03308933c93235bdc8d50d0b0c8a8ccb0b969 + sha256: ea1432d167339ea9b5bb153f0571d0039607a873d6e04e0117af043f14a1fd4b url: "https://pub.dev" source: hosted - version: "6.7.1" + version: "6.8.0" lints: dependency: "direct dev" description: @@ -325,10 +330,18 @@ packages: dependency: "direct main" description: name: logging_appenders - sha256: "1fb8a008c04246f4677a0d034d69779a5975e56e02573a5162240239b247e239" + sha256: cc16fd4ecf92ae8b45294ad01849468475b65c4aadac57c2ed3e6cc3f91b557c + url: "https://pub.dev" + source: hosted + version: "1.3.0" + macros: + dependency: transitive + description: + name: macros + sha256: "12e8a9842b5a7390de7a781ec63d793527582398d16ea26c60fed58833c9ae79" url: "https://pub.dev" source: hosted - version: "1.2.0+1" + version: "0.1.0-main.0" matcher: dependency: transitive description: @@ -341,10 +354,10 @@ packages: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.15.0" mime: dependency: transitive description: @@ -366,14 +379,14 @@ packages: path: "../../openapi_base" relative: true source: path - version: "1.3.2-rc.1" + version: "1.3.2" openapi_code_builder: dependency: "direct dev" description: path: ".." relative: true source: path - version: "1.3.1" + version: "1.3.2" package_config: dependency: transitive description: @@ -442,10 +455,10 @@ packages: dependency: transitive description: name: shelf_web_socket - sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1" + sha256: "073c147238594ecd0d193f3456a5fe91c4b0abbcc68bf5cd95b36c4e194ac611" url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "2.0.0" source_gen: dependency: transitive description: @@ -522,10 +535,10 @@ packages: dependency: transitive description: name: test_api - sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" + sha256: "2419f20b0c8677b2d67c8ac4d1ac7372d862dc6c460cdbb052b40155408cd794" url: "https://pub.dev" source: hosted - version: "0.7.0" + version: "0.7.1" timing: dependency: transitive description: @@ -570,18 +583,26 @@ packages: dependency: transitive description: name: web - sha256: "4188706108906f002b3a293509234588823c8c979dc83304e229ff400c996b05" + sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" + url: "https://pub.dev" + source: hosted + version: "0.5.1" + web_socket: + dependency: transitive + description: + name: web_socket + sha256: "217f49b5213796cb508d6a942a5dc604ce1cb6a0a6b3d8cb3f0c314f0ecea712" url: "https://pub.dev" source: hosted - version: "0.4.2" + version: "0.1.4" web_socket_channel: dependency: transitive description: name: web_socket_channel - sha256: "939ab60734a4f8fa95feacb55804fa278de28bdeef38e616dc08e44a84adea23" + sha256: a2d56211ee4d35d9b344d9d4ce60f362e4f5d1aafb988302906bd732bc731276 url: "https://pub.dev" source: hosted - version: "2.4.3" + version: "3.0.0" yaml: dependency: transitive description: @@ -591,4 +612,4 @@ packages: source: hosted version: "3.1.2" sdks: - dart: ">=3.2.0 <4.0.0" + dart: ">=3.4.0 <4.0.0" diff --git a/packages/openapi_code_builder/lib/src/openapi_code_builder.dart b/packages/openapi_code_builder/lib/src/openapi_code_builder.dart index dca24b6..26eb12b 100644 --- a/packages/openapi_code_builder/lib/src/openapi_code_builder.dart +++ b/packages/openapi_code_builder/lib/src/openapi_code_builder.dart @@ -1119,6 +1119,7 @@ class OpenApiLibraryGenerator { final implements = []; // check for inheritance + var additionalPropertyPolicy = obj.additionalPropertyPolicy; if (obj.allOf != null) { for (final baseObj in obj.allOf!) { implements.add(_schemaReference('${className}Base', baseObj!)); @@ -1128,8 +1129,18 @@ class OpenApiLibraryGenerator { }; override.addAll(baseObj.properties!.entries.map((e) => e.key)); required.addAll(baseObj.required ?? []); + // if the base object as "freeForm" property policy we need to expand it. + if (baseObj.additionalPropertyPolicy == + APISchemaAdditionalPropertyPolicy.freeForm) { + additionalPropertyPolicy = baseObj.additionalPropertyPolicy; + } } } + if (obj.additionalPropertyPolicy == + APISchemaAdditionalPropertyPolicy.restricted) { + _logger.warning( + 'additionalProperties with restrictions are currently not supported. ${obj.referenceURI}'); + } final fields = properties.map((key, e) => MapEntry(key, Field((fb) { final fieldType = _toDartType('$className${key.pascalCase}', e!); @@ -1164,7 +1175,7 @@ class OpenApiLibraryGenerator { Expression? fromJsonExpression = refer('_\$${className}FromJson').call([refer('jsonMap')]); - if (obj.additionalPropertyPolicy == + if (additionalPropertyPolicy == APISchemaAdditionalPropertyPolicy.freeForm) { toJsonExpression = refer('Map') .property('from')([refer('_additionalProperties')]) @@ -1271,7 +1282,7 @@ class OpenApiLibraryGenerator { ..lambda = true ..body = refer('toJson')([]).property('toString')([]).code)); - if (obj.additionalPropertyPolicy == + if (additionalPropertyPolicy == APISchemaAdditionalPropertyPolicy.freeForm) { cb.fields.add(Field((fb) => fb ..name = '_additionalProperties' diff --git a/packages/openapi_code_builder/pubspec.lock b/packages/openapi_code_builder/pubspec.lock index 2638ee3..558aac4 100644 --- a/packages/openapi_code_builder/pubspec.lock +++ b/packages/openapi_code_builder/pubspec.lock @@ -5,26 +5,31 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: "0f7b1783ddb1e4600580b8c00d0ddae5b06ae7f0382bd4fcce5db4df97b618e1" + sha256: "5aaf60d96c4cd00fe7f21594b5ad6a1b699c80a27420f8a837f4d68473ef09e3" url: "https://pub.dev" source: hosted - version: "66.0.0" + version: "68.0.0" + _macros: + dependency: transitive + description: dart + source: sdk + version: "0.1.0" analyzer: dependency: transitive description: name: analyzer - sha256: "5e8bdcda061d91da6b034d64d8e4026f355bcb8c3e7a0ac2da1523205a91a737" + sha256: "21f1d3720fd1c70316399d5e2bccaebb415c434592d778cce8acb967b8578808" url: "https://pub.dev" source: hosted - version: "6.4.0" + version: "6.5.0" args: dependency: transitive description: name: args - sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596 + sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a" url: "https://pub.dev" source: hosted - version: "2.4.2" + version: "2.5.0" async: dependency: transitive description: @@ -61,10 +66,10 @@ packages: dependency: transitive description: name: built_value - sha256: a3ec2e0f967bc47f69f95009bb93db936288d61d5343b9436e378b28a2f830c6 + sha256: c7913a9737ee4007efedaffc968c049fd0f3d0e49109e778edc10de9426005cb url: "https://pub.dev" source: hosted - version: "8.9.0" + version: "8.9.2" chunked_stream: dependency: transitive description: @@ -125,18 +130,18 @@ packages: dependency: "direct main" description: name: dart_style - sha256: "40ae61a5d43feea6d24bd22c0537a6629db858963b99b4bc1c3db80676f32368" + sha256: "99e066ce75c89d6b29903d788a7bb9369cf754f7b24bf70bf4b6d6d6b26853b9" url: "https://pub.dev" source: hosted - version: "2.3.4" + version: "2.3.6" dio: dependency: transitive description: name: dio - sha256: "797e1e341c3dd2f69f2dad42564a6feff3bfb87187d05abb93b9609e6f1645c3" + sha256: "11e40df547d418cc0c4900a9318b26304e665da6fa4755399a9ff9efd09034b5" url: "https://pub.dev" source: hosted - version: "5.4.0" + version: "5.4.3+1" file: dependency: transitive description: @@ -165,10 +170,10 @@ packages: dependency: transitive description: name: http - sha256: a2bbf9d017fcced29139daa8ed2bba4ece450ab222871df93ca9eec6f80c34ba + sha256: "761a297c042deedc1ffbb156d6e2af13886bb305c2a343a4d972504cd67dd938" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.2.1" http_parser: dependency: transitive description: @@ -189,10 +194,10 @@ packages: dependency: "direct main" description: name: json_annotation - sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467 + sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1" url: "https://pub.dev" source: hosted - version: "4.8.1" + version: "4.9.0" lints: dependency: "direct dev" description: @@ -213,10 +218,18 @@ packages: dependency: "direct main" description: name: logging_appenders - sha256: "1fb8a008c04246f4677a0d034d69779a5975e56e02573a5162240239b247e239" + sha256: cc16fd4ecf92ae8b45294ad01849468475b65c4aadac57c2ed3e6cc3f91b557c + url: "https://pub.dev" + source: hosted + version: "1.3.0" + macros: + dependency: transitive + description: + name: macros + sha256: "12e8a9842b5a7390de7a781ec63d793527582398d16ea26c60fed58833c9ae79" url: "https://pub.dev" source: hosted - version: "1.2.0+1" + version: "0.1.0-main.0" matcher: dependency: transitive description: @@ -229,10 +242,10 @@ packages: dependency: "direct main" description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.15.0" open_api_forked: dependency: "direct main" description: @@ -246,7 +259,7 @@ packages: path: "../openapi_base" relative: true source: path - version: "1.3.2-rc.1" + version: "1.3.2" package_config: dependency: transitive description: @@ -355,10 +368,10 @@ packages: dependency: transitive description: name: test_api - sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" + sha256: "2419f20b0c8677b2d67c8ac4d1ac7372d862dc6c460cdbb052b40155408cd794" url: "https://pub.dev" source: hosted - version: "0.7.0" + version: "0.7.1" typed_data: dependency: transitive description: @@ -395,10 +408,10 @@ packages: dependency: transitive description: name: web - sha256: "4188706108906f002b3a293509234588823c8c979dc83304e229ff400c996b05" + sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" url: "https://pub.dev" source: hosted - version: "0.4.2" + version: "0.5.1" yaml: dependency: "direct main" description: @@ -408,4 +421,4 @@ packages: source: hosted version: "3.1.2" sdks: - dart: ">=3.2.0 <4.0.0" + dart: ">=3.4.0-256.0.dev <4.0.0" diff --git a/packages/openapi_code_builder/pubspec.yaml b/packages/openapi_code_builder/pubspec.yaml index eb6cd7a..9cc1f74 100644 --- a/packages/openapi_code_builder/pubspec.yaml +++ b/packages/openapi_code_builder/pubspec.yaml @@ -1,6 +1,6 @@ name: openapi_code_builder description: Generate Dtos, client and server scaffolds for openapi specs. -version: 1.3.1 +version: 1.3.2 homepage: https://github.com/hpoul/openapi_dart/tree/master/packages/openapi_code_builder environment: