GetPropertyObjectPanoramaPointFilesQuery
Назначение
Получение файлов панорам по объекту недвижимости и пресету. Возвращает список записей «точка — файл» для объекта.
Цель
Вернуть клиенту список файлов панорам объекта по заданному пресету с привязкой к точкам съёмки.
Query: GetPropertyObjectPanoramaPointFilesQuery (Входные данные)
| Поле | Тип | Обязательность | Описание |
|---|---|---|---|
| ChessboardPropertyObjectId | Guid | Обязательное | Идентификатор объекта недвижимости |
| PresetId | Guid | Обязательное | Идентификатор пресета |
примечание
TenantId берётся из контекста запроса.
Result: GetPropertyObjectPanoramaPointFilesQueryResult (Выходные данные)
| Поле | Тип | Обязательность | Описание |
|---|---|---|---|
| Entries | IReadOnlyCollection<PanoramaPointFileEntry> | Обязательное | Список записей «точка — файл» |
PanoramaPointFileEntry (ResultEntry)
| Поле | Тип | Обязательность | Описание |
|---|---|---|---|
| PointId | Guid | Обязательное | Идентификатор точки |
| FileIds | CubemapFileIds или аналог | Обязательное | Идентификаторы файлов граней кубмапа |
Валидация
- Объект с ChessboardPropertyObjectId должен существовать в ChessboardProjectPropertyObjectEntity. При отсутствии — вернуть пустой список или ошибку.
Бизнес-логика (Handler)
- Получить сущность ChessboardProjectPropertyObjectEntity по ChessboardPropertyObjectId. Если не найдена — вернуть ошибку или пустой список.
- Найти сущности PropertyObjectPanoramaPointFileEntity по PropertyObjectId и PresetId (и TenantId).
- Сформировать Entries с PointId и данными Image для каждой записи.
- Вернуть результат клиенту.
Связанные сущности
- ChessboardProjectPropertyObjectEntity
- PropertyObjectPanoramaPointFileEntity
- CubemapFilesContainerDbType
API
PanoramaPointsController.GetPropertyObjectPanoramaPointFiles — GET property-objects/{chessboardPropertyObjectId}/presets/{presetId}/point-files