Когда вы удаляете статью, коллекцию или целое пространство — они не исчезают сразу. Сначала они попадают в Корзину, где хранятся ограниченный срок (зависит от тарифа). За это время можно одним кликом восстановить случайно удалённое или, наоборот, очистить всё навсегда.
Корзина защищает вас от «фатальных» опечаток вроде «выбрал не ту папку и нажал Delete», и одновременно даёт админу единую точку для финальной очистки организации.
#Где открыть
Левое меню → Корзина (иконка корзины внизу навигации).
Бейдж справа от пункта показывает, сколько объектов сейчас в корзине.
Кто видит раздел:
- Owner / Admin организации — весь trash (статьи + коллекции + пространства)
- Editor — только удалённые статьи из своих пространств
- User и Guest — раздел скрыт
#Что попадает в корзину
Удаление любого из трёх типов объектов — это soft-delete: запись остаётся в БД с отметкой deleted_at, но скрыта от пользователей и AI-поиска. Восстановление возвращает объект «как было».
| Тип | Откуда удаляется | Что попадает в корзину |
|---|---|---|
| Статья | контекстное меню статьи → Удалить | сама статья (содержимое сохраняется) |
| Коллекция | контекстное меню коллекции → Удалить | коллекция + все статьи внутри |
| Пространство | Настройки пространства → Удалить пространство | пространство + все коллекции + все статьи |
Удаление каскадное: если удалить родительскую коллекцию, все вложенные коллекции и статьи переезжают в корзину вместе с ней.
#Срок хранения по тарифам
Сколько объект пролежит в корзине до безвозвратного удаления — определяется тарифом:
После истечения срока фоновый процесс окончательно стирает объект из базы — вместе со связанными чанками, эмбеддингами и кешем AI-ответов. Восстановить будет уже нельзя.
Совет. Если по compliance нужно жёстко удалять объект сразу — используйте «Удалить навсегда» вручную, не дожидаясь cron.
#Как выглядит элемент корзины
Каждая строка корзины — это карточка с типом объекта, названием, кратким описанием, информацией кто и когда удалил, оставшимся временем и кнопками действий:
Цветовые индикаторы оставшегося времени:
- 🟢 Зелёный — больше половины срока ещё впереди
- 🟡 Жёлтый — осталось менее 30% срока (пора решать: восстановить или удалить навсегда)
- 🔴 Красный — осталось 1–2 дня до permanent delete
#Действия с одним объектом
#Восстановить
| Тип | Куда вернётся |
|---|---|
| Статья | в исходную коллекцию. Если коллекция тоже удалена — выберите другую в диалоге восстановления |
| Коллекция | со всем содержимым на момент удаления |
| Пространство | со всеми коллекциями и статьями внутри |
После восстановления у объекта снимаются отметки deleted_at и deletion_scheduled_at — он снова доступен в обычном интерфейсе и попадает в поиск.
#Удалить навсегда
Безвозвратное удаление прямо сейчас, минуя retention. Появится подтверждение с явным предупреждением «это действие необратимо». Используйте, если уверены — восстановить не получится.
#Посмотреть (только для статей)
Открывает миниатюру с заголовком и первыми 800 символами содержимого. Это быстрый способ вспомнить, что внутри, не восстанавливая статью.
#Фильтры и поиск
В верхней части страницы — панель фильтров:
- Тип — статьи, коллекции, пространства или все вместе
- Поиск — по названию (нечувствительно к регистру)
- Только мои — объекты, удалённые лично вами
- Период — диапазон дат удаления (от/до)
- Постранично — до 50 элементов на страницу
#Массовые операции
Поставьте чекбоксы в нескольких карточках — внизу появится bulk action bar:
Отдельно в правом верхнем углу страницы доступна кнопка «Очистить корзину» — она стирает всё навсегда (можно ограничить выбранным типом, например «только статьи»). Действие требует двойного подтверждения с вводом фразы.
#Что происходит с поиском и AI пока объект в корзине
Пока статья находится между deleted_at и deletion_scheduled_at:
- В обычных результатах поиска и AI-ответах для пользователей удалённый контент не показывается
- Embeddings и кэшированные AI-ответы остаются в БД нетронутыми
- AI может процитировать удалённую статью в ответах из кэша — если такой же вопрос уже задавали до удаления и ответ закешировался
Это сознательный компромисс: мы позволяем «откатить» удаление без полной переиндексации организации (она долгая и дорогая), а за чистоту публичного поиска отвечает фильтр deleted_at IS NULL на уровне SQL-запросов.
Если нужно немедленно вычистить статью из кэша — используйте «Удалить навсегда»: cron сразу же удалит и embeddings, и связанные кэш-записи.
#Приватность и доступ
- Owner / Admin организации видят весь trash, кроме содержимого личных пространств других пользователей
- Editor видит только объекты из пространств, где он участник; User и Guest корзину не видят. Чужие пространства не показываются вовсе
- Личное пространство — даже глобальный Admin не видит содержимое личных пространств других пользователей (включая удалённое)
Это та же модель приватности, что и в основном интерфейсе — корзина её не нарушает.
#Кто что может удалять и восстанавливать
Права на действия складываются из двух уровней: роль в организации (Owner / Admin / Editor / User / Guest) и роль в конкретном пространстве (Space Admin / Editor / Viewer). Для большинства действий проверяются обе.
| Действие | User | Editor | Space Admin | Admin / Owner |
|---|---|---|---|---|
| Открыть раздел «Корзина» | — | ✓ | ✓ | ✓ |
| Видеть превью статьи в корзине | — | ✓ | ✓ | ✓ |
| Удалить статью (отправить в корзину) | — | ✓ | ✓ | ✓ |
| Восстановить статью | — | ✓ | ✓ | ✓ |
| Удалить статью навсегда | — | ✗ | ✓ | ✓ |
| Удалить коллекцию (в корзину) | — | ✓ | ✓ | ✓ |
| Восстановить коллекцию | — | ✓ | ✓ | ✓ |
| Удалить коллекцию навсегда | — | ✗ | ✓ | ✓ |
| Удалить пространство (в корзину) | — | ✗ | ✗ | ✓ |
| Восстановить пространство | — | ✗ | ✗ | ✓ |
| Удалить пространство навсегда | — | ✗ | ✗ | ✓ |
| Очистить корзину целиком | — | ✗ | ✓ | ✓ |
Ключевые правила:
- Editor может класть в корзину и восстанавливать, но «удалять навсегда» статьи и коллекции — только Space Admin (и выше). Это страховка от случайной потери данных рядовым сотрудником.
- Пространства — самая мощная операция: и удалить, и восстановить, и удалить навсегда может только Owner / Admin организации. Space Admin одного пространства не может удалить само пространство.
- User и Guest не видят корзину вообще — и не могут ничего удалить или восстановить.
- Личное пространство удаляется только своим владельцем (или при удалении самого пользователя).
Важно про cross-space restore. Если вы восстанавливаете статью в другое пространство (например, исходное удалено), у вас должна быть роль не ниже Editor в целевом пространстве — иначе восстановление будет отклонено с ошибкой
INSUFFICIENT_PERMISSIONS.
#Связанные разделы
- Журнал действий — события
trashed/restored/permanently_deletedлогируются там с указанием инициатора и времени - Управление статьями — отсюда происходит обычное удаление, которое уносит статью в корзину
- Пространства — удаление пространства каскадно отправляет всё содержимое в корзину