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

GetPanoramasQueueTasksListByProjectIdQuery (Editor)

Назначение

Получение списка задач очереди панорамной съёмки по идентификатору проекта. Поведение идентично GetPanoramasQueueTasksListByProjectIdQuery (Admin).

Цель

Использовать в Editor API тот же контракт и логику, что и в Admin: разработчик копирует реализацию из Admin.Domain в Editor.Domain.

Query: GetPanoramasQueueTasksListByProjectIdQuery (Входные данные)

ПолеТипОбязательностьОписание
ChessboardProjectIdlongОбязательноеИдентификатор проекта шахматной доски

TenantId берётся из контекста запроса.

Result: GetPanoramasQueueTasksListByProjectIdQueryResult (Выходные данные)

ПолеТипОбязательностьОписание
EntriesIReadOnlyCollection<GetPanoramasQueueTasksListByProjectIdQueryResultEntry>ОбязательноеСписок задач

Структура ResultEntry — как в Admin (TaskId, TaskType, Status, PresetIds, PropertyLayoutId, PropertyObjectId, CreatedAt, UpdatedAt).

Валидация

Проект с ChessboardProjectId должен существовать. Очередь по проекту может отсутствовать — вернуть пустой список.

Бизнес-логика (Handler)

Как в Admin: получить проект, найти очередь по проекту, загрузить задачи по QueueId, сформировать Entries и вернуть результат.

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

Скопировать из Admin.Domain в Editor.Domain/Features/QueueTasks: GetPanoramasQueueTasksListByProjectIdQuery, GetPanoramasQueueTasksListByProjectIdQueryResult, GetPanoramasQueueTasksListByProjectIdQueryResultEntry, GetPanoramasQueueTasksListByProjectIdQueryHandler. Зарегистрировать handler в DI Editor.Domain.

Связанные сущности

API

QueueTasksController (Editor).GetPanoramasQueueTasksListByProjectId