Handler: SubmitInputPacket

Handler Версия: 0.1 draft

Что произойдёт при вызове endpoint SubmitInputPacket: собранный пакет получает идентичность (номер и ключи хранения кадров) и становится в очередь обработки.

⟨/⟩ Исходник

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

Канонический сценарий обработки Endpoint SubmitInputPacket (SubmitInputPacketCommand). Создаёт пакет ввода и ставит его в очередь обработки. Идентичность (номер, ключи файлов) возникает в момент постановки — см. ADR-002 «Идентичность пакета и имена файлов».

2. Сценарий вызова

  1. Валидация: в пакете есть хотя бы один кадр (Frames). Пусто — ошибка Validation, пакет не создаётся.
  2. Номер: присвоить пакету номер вида П-ГГГГММДД-NNN — сквозная нумерация в пределах дня (ADR-002 «Идентичность пакета и имена файлов»).
  3. Кадры: для каждого кадра (по порядку) назначить ключ хранения <номер>/<NN>.<расширение> (по порядковому номеру, без роли — роль определяется при обработке) и сохранить содержимое в файловом хранилище. Содержимое — из части files (по FileIndex) либо скачанное по Url для кадра-ссылки.
  4. Сохранение: пакет с кадрами записывается в БД; состояние — Queued (производное, отдельным полем не хранится). Роли кадров и идентификаторы на вводе не заполняются — извлекаются при обработке.
  5. Ответ: SubmitInputPacketResult с SubmittedPacketPayload — номер, время постановки и число кадров (для списка «сдано за смену»).

3. Ошибки и альтернативы

Ситуация Поведение
Ни одного кадра Отказ с ошибкой Validation — пакет не может быть пустым
Кадр-ссылка недоступна по Url Отказ: содержимое кадра получить не удалось

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

Документы