Поток удаления активов

Поток выполнения удаления активов выполняет базовую проверку параметров актива и исходного контекста.

Описание сегментов потока

  1. Стартовый сегмент [ASSET_DELETE_START] – обеспечивает базовую валидацию исходного контекста и выполняет его настройку для дальнейшего исполнения в потоке:

    • Идентификация актива в контексте должна быть корректной. Удаляемый актив должен существовать в системе.

    • Контекст должен иметь только один активный флаг: логическое удаление исходной записи (incativateOrigin); логическое удаление эталонной записи (inactivateEtalon) или физическое удаление записи (wipe).

    • Физическое удаление актива в режиме черновика невозможно.

    • Удаляемый актив должен иметь корректный статус. Повторное логическое удаление эталона актива приведет к ошибке.

  2. Point сегмент [ASSET_DELETE_MEASURED] – нормализует измеряемые атрибуты исходной записи для вставки. Выполняет валидацию измеряемых атрибутов – проверяет измеряемые величины и их категории на наличие в списке существующих величин. Необходим для нормализации изменений записи перед удалением (если изменения переданы в контекст).

  3. Selector сегмент [СASSET_DELETE_SELECTOR] – обеспечивает ветвление потока. Если выполняется удаление актива в режиме черновика, то запускается ветвь [DRAFT]; в обычном режиме – ветвь [REGULAR].

  4. Финишный сегмент [ASSET_DELETE_FINISH] – возвращает ключи удаленного актива.

Ветвь потока [DRAFT]:

  • Point сегмент [ASSET_DELETE_MODBOX] – выполняет подготовку внесенных изменений из исходного контекста перед вычислением обновленного состояния актива.

  • Point сегмент [ASSET_DELETE_STATE] – вычисляет обновленное состояние актива. Применяет внесенные изменения к текущему состоянию актива, создает эталонную запись.

  • Point сегмент [ASSET_DELETE_DRAFT] – выполняет сохранение черновика актива.

Ветвь потока [REGULAR]:

  • Point сегмент [ASSET_DELETE_MODBOX] – выполняет подготовку внесенных изменений из исходного контекста перед вычислением обновленного состояния актива.

  • Point сегмент [ASSET_DELETE_STATE] – вычисляет обновленное состояние актива. Применяет внесенные изменения к текущему состоянию актива, создает эталонную запись.

  • Point сегмент [ASSET_DELETE_INDEXING] – вычисляет изменения актива для поискового индекса.

  • Point сегмент [ASSET_DELETE_PERSISTENCE] – выполняет сохранение внесенных изменений в базу данных, поисковый индекс и хранилище графа.