POST /api/collections/:id/undo
Как открыть: Редактор коллекции → граф коллекции → кнопка «Отменить» (или горячая клавиша Ctrl+Z / Cmd+Z).
Отменяет последнее действие над коллекцией — декомпозицию блока, правку блоков, рёбер или метаданных — и возвращает граф к состоянию до этого действия. После отката граф перезагружается и перерисовывается заново. История не стирается: сам откат записывается как новая операция, поэтому повторное нажатие «Отменить» работает как «повторить» (redo) — возвращает состояние, которое было до отмены. Если отменять нечего, кнопка становится неактивной.
Ctrl+Z не срабатывает, когда курсор в поле ввода (например, при редактировании имени блока) — там работает обычная отмена текста.
Ограничения: только для администратора коллекции (org_admin — своей коллекции, owner_org_id). Один уровень отмены (MVP): отменяется лишь самое последнее действие. Отдельной кнопки «Повторить» нет — её роль выполняет повторное «Отменить». Откат действий над слоями коллекции в текущей версии не поддерживается.
Связанные
- Экраны: Редактор коллекции
- Конвенции · Роли · Ошибки · Глоссарий
Машинная сводка (HTTP, таблицы, связанные требования)
| Поле | Значение |
|---|---|
| HTTP | POST /api/collections/:id/undo |
| Auth | — |
| Scope токена | read_write |
| PG-функции | api.undo_last_operation |
| Таблицы | collection_block, collection_edge, collection |
| SRM | SRM-364 |
| RP (права) | — |
| Файл роута | server/routes/collections.js |
| Статус | done |
Аргументы запроса (best-effort из хендлера; путь-параметры опущены):
аргументов не обнаружено (подтвердить вручную по server/routes/collections.js)
Коды ответов/ошибок (из хендлера): 200 — уточнить причины вручную