Выгрузка

Доменная сущность Версия: 0.1 draft

Сформированный файл для загрузки в АБИС: когда сформирован, из каких карт, в каком формате и где лежит.

⟨/⟩ Исходник

1. Назначение

Выгрузка — факт того, что файл сформирован, и всё, что о нём известно: момент, состав, формат, место в хранилище. Дальше файл живёт вне Сервиса: он его кладёт, а не отправляет, и судьбы его не наблюдает (ADR-013 «Файл выгрузки формируется при создании карты»).

Обычный путь — формирование при создании карты, без отдельного действия пользователя. Реже файл понадобится заново: прежний утрачен или испорчен, и администратор формирует его повторно из реестра карт. Обе выгрузки устроены одинаково и различаются только происхождением.

Сущность нужна ради журнала. По одной дате в карте нельзя ответить, что ушло вместе, под каким именем и в каком формате, — а без этих ответов файл, появившийся без участия человека, остаётся незаметным.

2. Состав

В выгрузку входит одна карта или несколько — это зависит от формата обмена, а не от устройства модели. Формат, допускающий файл на карту, даёт выгрузки из одной записи; формат, требующий пачку, — из многих.

Связь с картами многие ко многим: карта может входить в несколько выгрузок, если файл формировался повторно. Дата выгрузки в самой карте — отметка «файл сформирован» и указывает на последнюю по времени; это проекция для реестра, источник истины — выгрузка.

3. Инварианты

4. Если файл не сформировался

Записи не появляется, и карта остаётся непомеченной. Создание карты при этом не отменяется: работа оператора не должна пропадать из-за сбоя записи файла.

Такая карта видна в реестре по фильтру состояния выгрузки, и файл для неё формируется повторно — тем же административным действием, что и при утрате файла. Отдельного механизма починки не требуется, и признака ошибки заводить не нужно: отсутствие выгрузки и есть признак.

Свойства

СвойствоТипОписание
IdGuidИдентификатор выгрузки.
CreatedAtDateTimeМомент формирования файла.
CreatedByUserIdGuidПользователь, чьё действие привело к формированию файла.
FormatCodeStringКод формата обмена, в котором сформирован файл.
FileNameStringИмя файла — то, по чему его опознают снаружи Сервиса.
StorageKeyStringКлюч файла в хранилище.
OriginExportOriginКак возникла выгрузка: при создании карты или по команде администратора.
CardsIReadOnlyList<InformationCard>Карты, вошедшие в файл; при выгрузке по созданию — одна.

Связанные артефакты

Документы