diff --git a/HISTORY/2026-07-24-session-1.md b/HISTORY/2026-07-24-session-1.md new file mode 100644 index 0000000..c7ed604 --- /dev/null +++ b/HISTORY/2026-07-24-session-1.md @@ -0,0 +1,68 @@ +# 2026-07-24 — Логика UI для тестирования операций + +## Принцип: одна операция — один тест + +Пользователь выбирает сервис → видит его операции → выбирает операцию → задаёт параметры → жмёт «Тест». + +## Dummy как эталон + +Dummy (svcId=1) — тестовый сервис. 7 операций: create, modify, suspend, resume, delete, redeploy, reconcile. + +### Состояния операций + +Операции зависят от существования инстанса: + +- **Инстанс НЕ создан:** только `create` активна, остальные серые +- **Инстанс создан (running):** `modify`, `suspend`, `delete`, `redeploy` активны +- **Инстанс suspended:** `resume`, `delete` активны +- **Инстанс deleted:** все серые + +`reconcile` — всегда доступна (восстановительная). + +## UI (мысли) + +### Таблица сервисов (сейчас скрыта, будет возвращена) + +Одна строка на сервис. При клике — раскрывается список операций. + +### Операции + +Каждая операция — строка с: +- Название операции +- Кнопка «Тест» (серая если недоступна) +- Индикатор состояния (instanceUid если инстанс существует) + +### Параметры операции (при клике на «Тест») + +Раскрывается форма с параметрами: + +- **Обязательные, есть defaultValue:** поле заполнено, **жирный шрифт** +- **Обязательные, нет defaultValue:** поле с плейсхолдером, **красная обводка** — юзер должен заполнить +- **Необязательные:** поле с defaultValue или пустое, обычный шрифт + +Для `valueList` — select/autocomplete. +Для `map-fixed` — вложенные поля. +Для `boolean` — checkbox. + +### Логика доступности операций + +``` +Если инстансов dummy == 0: + create: активно + остальные: серые + +Если есть инстанс в статусе running: + modify, suspend, delete, redeploy: активны + resume: серое + create: серое (уже есть) + +Если есть инстанс в статусе suspended: + resume, delete: активны + остальные: серые +``` + +## Не реализовано (MVP later) + +- Pipeline из нескольких операций +- Сохранение пресетов параметров +- История тестов