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

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.