fix(api): Decimal-параметр ребалансировки ломал генерацию Dart-клиента

cash_available был bare Decimal | None в Query(...) — pydantic отдаёт для
Decimal anyOf[number, pattern-string], который openapi-generator не умеет
свернуть в один тип и вместо этого синтезирует пустой класс CashAvailable
без полей (синтаксически битый .dart, компиляция всего пакета падает).
Остальные Decimal-поля в API давно оборачиваются в Money/MoneyOpt
(api/schemas/common.py) ровно за счёт этого — anyOf[string, null] генератор
понимает. cash_available обошёл соглашение, потому что это единственный
Decimal-параметр запроса во всём API, а не тело ответа.
This commit is contained in:
Dmitry
2026-09-19 10:56:33 +03:00
parent ccd06f32f7
commit baac83149f
10 changed files with 5053 additions and 122 deletions
@@ -1,42 +0,0 @@
//
// AUTO-GENERATED FILE, DO NOT MODIFY!
//
// ignore_for_file: unused_element
import 'package:copy_with_extension/copy_with_extension.dart';
import 'package:json_annotation/json_annotation.dart';
part 'cash_available.g.dart';
@CopyWith()
@JsonSerializable(
checked: true,
createToJson: true,
disallowUnrecognizedKeys: false,
explicitToJson: true,
)
class CashAvailable {
/// Returns a new [CashAvailable] instance.
CashAvailable({
});
@override
bool operator ==(Object other) => identical(this, other) || other is CashAvailable &&
@override
int get hashCode =>
factory CashAvailable.fromJson(Map<String, dynamic> json) => _$CashAvailableFromJson(json);
Map<String, dynamic> toJson() => _$CashAvailableToJson(this);
@override
String toString() {
return toJson().toString();
}
}