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
+2 -2
View File
@@ -26,7 +26,7 @@ import 'package:fintracker_api/api.dart';
final api = FintrackerApi().getRebalanceApi();
final int portfolioId = 56; // int |
final String dimension = dimension_example; // String | asset_class | sector | country | currency
final CashAvailable cashAvailable = ; // CashAvailable | переопределяет остаток на счетах для what-if
final String cashAvailable = cashAvailable_example; // String | переопределяет остаток на счетах для what-if
try {
final response = api.rebalanceRebalance(portfolioId, dimension, cashAvailable);
@@ -42,7 +42,7 @@ Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**portfolioId** | **int**| |
**dimension** | **String**| asset_class | sector | country | currency | [optional] [default to 'asset_class']
**cashAvailable** | [**CashAvailable**](.md)| переопределяет остаток на счетах для what-if | [optional]
**cashAvailable** | **String**| переопределяет остаток на счетах для what-if | [optional]
### Return type