From 28b2519fda2a395811053ef53b0e828c2b281461 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNaeel=E2=80=9D?= Date: Fri, 31 Jul 2026 19:08:28 +0400 Subject: [PATCH] =?UTF-8?q?Subresource-=D0=BE=D0=BF=D0=B5=D1=80=D0=B0?= =?UTF-8?q?=D1=86=D0=B8=D0=B8=20=D0=B2=20MockState:=20=D0=BE=D0=B1=D1=8B?= =?UTF-8?q?=D1=87=D0=BD=D1=8B=D0=B5=20instanceOperations,=20=D1=80=D0=B0?= =?UTF-8?q?=D0=B7=D0=B2=D0=B8=D0=BB=D0=BA=D0=B0=20=D0=B2=20apply=5Feffect?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HISTORY/2026-07-31-session.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/HISTORY/2026-07-31-session.md b/HISTORY/2026-07-31-session.md index e93c6ab..002797f 100644 --- a/HISTORY/2026-07-31-session.md +++ b/HISTORY/2026-07-31-session.md @@ -492,3 +492,15 @@ convert_all(stands_dir) → dict[int, config] Поток: `STANDS/*.yaml` → `yaml.safe_load` → `convert_one` → MockState. Вызывается при СТАРТЕ полигона. Ручные YAML (`polygon/services/`) больше не нужны. + +### Subresource-операции в MockState (Опус) + +Обычные `instanceOperations`, без отдельного типа. Разница только в `apply_effect`: + +- `action=="create"` + флаг `subresource` → взять имя из params (`username`/`dbName`), + `instance.stateOut[subresource][name] = {}` +- `action=="delete"` + `subresource` → `del instance.stateOut[subresource][name]` +- иначе → прежняя логика (modify→stateParams, delete→удаление, suspend/resume→статус) + +Конвертер помечает такие операции: `{svcOperationId, operation, subresource, action}`. +Один универсальный `apply_effect`, без сервис-специфичного кода.