GetPanoramasQueueTasksListByProjectIdQuery (Editor)
Назначение
Получение списка задач очереди панорамной съёмки по идентификатору проекта. Поведение идентично GetPanoramasQueueTasksListByProjectIdQuery (Admin).
Цель
Использовать в Editor API тот же контракт и логику, что и в Admin: разработчик копирует реализацию из Admin.Domain в Editor.Domain.
Query: GetPanoramasQueueTasksListByProjectIdQuery (Входные данные)
| Поле | Тип | Обязательность | Описание |
|---|---|---|---|
| ChessboardProjectId | long | Обязательное | Идентификатор проекта шахматной доски |
TenantId берётся из контекста запроса.
Result: GetPanoramasQueueTasksListByProjectIdQueryResult (Выходные данные)
| Поле | Тип | Обязательность | Описание |
|---|---|---|---|
| Entries | IReadOnlyCollection<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