test(portal): harden api contract validation
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
React/Tauri-интерфейса без переписывания backend-логики.
|
||||
|
||||
Текущий HTML-портал остаётся рабочим и основным. Новый UI должен подключаться к
|
||||
тем же endpoint-ам через documented contract.
|
||||
тем же endpoint-ам через documented contract и не должен парсить HTML.
|
||||
|
||||
## Контрактные endpoint-ы
|
||||
|
||||
@@ -30,6 +30,12 @@ DPD mirror:
|
||||
- Клиенты обязаны корректно обрабатывать отсутствующие optional-поля.
|
||||
- Поля с `null` не должны ломать UI.
|
||||
- Ошибки API должны отображаться пользователю на русском языке.
|
||||
- Breaking changes требуют отдельного version bump контракта и architecture
|
||||
decision.
|
||||
- Будущий React/Tauri UI не должен парсить HTML-страницы, CSS или встроенный
|
||||
JavaScript текущего портала как источник данных.
|
||||
- Бизнес-логика остаётся на стороне Rust backend/API; frontend только
|
||||
отображает и отправляет пользовательские действия через контрактные endpoint-ы.
|
||||
|
||||
## Минимальный набор для будущего React/Tauri UI
|
||||
|
||||
@@ -52,6 +58,7 @@ DPD mirror:
|
||||
- Маршрут `/portal/` остаётся стабильным.
|
||||
- DPD `/dpd/` остаётся параллельным mirror.
|
||||
- Backend-расчёты, JSON-хранилища и workflow не дублируются во frontend.
|
||||
- Публичные JSON-поля не переименовываются без новой версии контракта.
|
||||
|
||||
## Проверка
|
||||
|
||||
|
||||
Reference in New Issue
Block a user