@MalaiMin

Как правильно спроектировать поведение процесса удаления?

Дано: Система электронного документооборота. Удаление документов в системе сотрудниками
запрещено. Для удаления ошибочно созданных документов, сотрудники создают задачу на удаление
для администратора. Администратор складывает документы в корзину и потом удаляет их все сразу.
Для этого нужно перейти в корзину, выделить все документы и нажать кнопку “Удалить объект”
Задание:
5dfa447ba8e5e991818722.png
  • Вопрос задан
  • 434 просмотра
Пригласить эксперта
Ответы на вопрос 1
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Что то у вас не в порядке.
В базе должны храниться только метаданные, документы лежать на диске.
Процесс удаления связан с процессом версионности, так что в БД нужен флаг is_deleted.
Собственно его и должен выставлять пользователь.
Удаление же администратором означает что взводится второй флаг is_persist_deleted
После этого документ пропадает из системы, но доступен по прямой ссылке в качестве исторического документа.
Соответственно при таком подходе, файловые операции не происходят, просто делается обновление нужных полей в пределах одной транзакции и ситуации "не удаления" не возникает. ПС и время "удаления" 5 сек это нонсенс
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы