feat(dict): 7-day retention auto-purge + inline restore UI

This commit is contained in:
Александр Зимин
2026-06-09 13:40:23 +00:00
parent 05d2093273
commit 8621687a60
5 changed files with 286 additions and 3 deletions
+7 -1
View File
@@ -4,11 +4,17 @@
Обновления приходят на твой сервер автоматически при следующем deploy.
## [2.54.0](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/-/tags/v2.54.0) (2026-06-09)
### ✨ Новые возможности
* **Удаление справочника — теперь soft-delete с 7-дневным окном восстановления** — раньше «Удалить справочник» физически удалял записи каскадом (recovery только из DB-бэкапа). Теперь backend ставит метку `deleted_at = now()`, записи и черновики остаются в БД. В течение 7 дней администратор может восстановить справочник: открой URL удалённого справочника → красная карточка «Справочник удалён» с кнопкой **«Восстановить справочник»** + счётчик дней до автоудаления. После 7 дней backend cron `DictionaryPurgeJob` (раз в час) физически удаляет cascade — recovery невозможен. Список soft-deleted dicts доступен через `GET /api/v1/dictionaries/deleted` (admin-only Корзина page — UI в follow-up MR).
## [2.52.0](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/-/tags/v2.52.0) (2026-06-05)
### ✨ Новые возможности
* **Удаление справочника одной кнопкой** — в правой info-панели редактора справочника появилась danger-кнопка «Удалить справочник…» (видна только пользователям с ролью admin). При клике — модальное окно с предупреждением о cascade: будут удалены ВСЕ записи, drafts, schema-drafts и история версий. Если на справочник ссылается другой через `x-references` — backend возвращает 409 со списком зависимостей, в модалке появляется дополнительная кнопка «Удалить force» (на случай если зависимый справочник нужно поправить отдельно). Cascade на уровне БД через FK `ON DELETE CASCADE` (миграция 0030). Audit log + outbox event «DefinitionDeleted» пишутся ДО удаления — consumers downstream (геопортал, Альтум) получают snapshot final state для инвалидации кэша.
* **Удаление справочника одной кнопкой** — в правой info-панели редактора справочника появилась danger-кнопка «Удалить справочник…» (видна только пользователям с ролью admin). При клике — модальное окно с предупреждением: будут soft-deleted ВСЕ записи, drafts, schema-drafts. Если на справочник ссылается другой через `x-references` — backend возвращает 409 со списком зависимостей, в модалке появляется дополнительная кнопка «Удалить force» (на случай если зависимый справочник нужно поправить отдельно). Audit log + outbox event «DefinitionDeleted» пишутся при пометке — consumers downstream (геопортал, Альтум) получают snapshot для инвалидации кэша.
## [2.51.2](https://git.nstart.cloud/2-6/2-6-4/terravault/ordinis/-/tags/v2.51.2) (2026-06-04)