Editor API
Назначение
HTTP API для сценариев редактора панорам (Talent.Chessboard.Panoramas.Editor.Api): управление очередью задач панорамной съёмки (те же операции, что и в Admin, перенесённые в Editor), получение списка пресетов отделки по проекту.
Цель
Выделить отдельный контракт и маршруты для редактора, чтобы не смешивать с административным API. Методы очереди задач в Editor дублируют поведение Admin (постановка задачи — скопировать реализацию из Admin.Domain/Features/QueueTasks).
Base Route
api/{tenantId}/chessboard/panoramas/editor/... (или аналог по соглашению маршрутизации).
Контроллеры
| Контроллер | Описание |
|---|---|
| QueueTasksController (Editor) | Получение списка задач по проекту, запуск, завершение, heartbeat, обновление статуса, отмена (без добавления задачи — только операции над существующими) |
| LayoutTopdownPanoramaQueueTasksController | Список задач очереди видов сверху по проекту (Project, Tasks с PropertyObject и Points) |
| InteriorPresetsController | Получение списка пресетов отделки по ChessboardProjectId (PresetId, Name) |
Постановка задачи
Добавить проект/слой Talent.Chessboard.Panoramas.Editor.Api и Talent.Chessboard.Panoramas.Editor.Domain по аналогии с Admin.Api и Admin.Domain. В Editor.Domain в фичу QueueTasks перенести (скопировать) методы: CancelQueueTask, CompleteQueueTask, GetPanoramasQueueTasksListByProjectId, HeartbeatQueueTask, UpdateQueueTaskStatus, StartQueueTask. Контракты команд/запросов и поведение — как в Admin; при необходимости общий код вынести в общий проект или переиспользовать через ссылку на Admin.Domain.