FileDelete Saga
Назначение
Сага удаления файлов панорам из файлового хранилища. Выполняется при публикации уведомления о необходимости удалить файлы (например после удаления точки съёмки или перезаписи кубмапа).
Цель
Согласованно удалить файлы из хранилища (шаг DeleteFile) и при сбое выполнить компенсацию.
Триггеры
- AfterFileDeletedNotification — публикуется при удалении или замене файлов панорам. Payload содержит идентификаторы файлов к удалению.
Payload: FileDeleteSagaPayload
| Поле | Тип | Обязательность | Описание |
|---|---|---|---|
| ImageFileId | Guid | Обязательное | Идентификатор файла к удалению |
| TenantId | Guid | Обязательное | Идентификатор тенанта |
При нескольких файлах (гранях кубмапа) payload может содержать набор ImageFileIds или отдельные сообщения.
Бизнес-логика (шаги)
- DeleteFile — удаление файла из файлового хранилища по ImageFileId. При успехе — сага завершена. При ошибке — повтор или компенсация (логирование, ручная очистка).
- Дополнительные шаги при необходимости: уведомление других систем.