Перейти к основному содержимому

QueueTasksController (Editor)

Назначение

Управление очередью задач панорамной съёмки в контексте редактора: те же операции, что и в Admin (получение списка задач, запуск, завершение, heartbeat, обновление статуса, отмена). Реализация дублируется из Admin.Domain/Features/QueueTasks в Editor.Domain.

Base Route

api/{tenantId}/chessboard/panoramas/editor/queue-tasks (или аналог).

Методы

МетодHTTPПутьНазначениеCommand/Query (Editor Domain)
GetPanoramasQueueTasksListByProjectIdGETprojects/{chessboardProjectId}Список задач очереди по проектуGetPanoramasQueueTasksListByProjectIdQuery
StartQueueTaskPOST{taskId}/startЗапустить задачуStartQueueTaskCommand
CompleteQueueTaskPOST{taskId}/completeЗавершить задачуCompleteQueueTaskCommand
HeartbeatQueueTaskPOST{taskId}/heartbeatHeartbeat выполняемой задачиHeartbeatQueueTaskCommand
UpdateQueueTaskStatusPATCH{taskId}/statusОбновить статус задачиUpdateQueueTaskStatusCommand
CancelQueueTaskPOST{taskId}/cancelОтменить задачуCancelQueueTaskCommand

Входные данные

Идентификатор проекта и задачи передаются в пути. TenantId — из контекста. Тело запроса — для UpdateQueueTaskStatus (новый статус).

Результат

Формат ответов совпадает с QueueTasksController (Admin).

Постановка задачи

Скопировать из Admin.Api контроллер QueueTasks и оставить только перечисленные методы (без AddLayoutPanoramaShootingTask). Связать с Editor.Domain: команды и запросы реализовать в Editor.Domain/Features/QueueTasks по аналогии с Admin.Domain (те же контракты и бизнес-логика).