[PIX-13568] fix(api): добавить GET /objects/:id + getObjectDetail + findRoomsForPublicObject #921

Merged
andrei merged 1 commit from agent-cto/pix-13568 into master 2026-06-27 18:45:08 +00:00
Owner

Что сделано

  • Зарегистрирован маршрут GET /objects/:id в public.routes.ts перед /objects/:id/dashboard (порядок важен для Express)
  • Добавлен контроллер getObjectDetail — возвращает детали объекта с комнатами
  • Добавлены сервисные функции findPublicObjectDetail и findRoomsForPublicObject
  • Переименование: findRoomsForObjectfindRoomsForPublicObject (более точное имя для публичного API)
  • Mock sync автоматически обновлён хуком (добавлен getObjectDetail в тесты)

Зачем

Маршрут /objects/:id был добавлен ранее, но откатился при revert PR #919 ([CL-PIX-13404]). Эндпоинт нужен для получения публичной информации об объекте с данными комнат.

План тестирования

  • GET /api/public/objects/obj-001 возвращает 200 с полем data.rooms
  • GET /api/public/objects/nonexistent возвращает 404
  • GET /api/public/objects/obj-001/dashboard по-прежнему работает (маршрут зарегистрирован после detail)

Где могу ошибаться

  • Тип параметра r в rooms.map аннотирован вручную из-за absent Prisma types в этом окружении; в CI с prisma generate тип будет инферирован корректно
  • PR #920 (agent-cto/pix-13359-api-build-fix) также меняет public.controller.ts и public.service.ts — возможен конфликт при merge; рекомендуется смержить один из PR первым
## Что сделано - Зарегистрирован маршрут `GET /objects/:id` в `public.routes.ts` перед `/objects/:id/dashboard` (порядок важен для Express) - Добавлен контроллер `getObjectDetail` — возвращает детали объекта с комнатами - Добавлены сервисные функции `findPublicObjectDetail` и `findRoomsForPublicObject` - Переименование: `findRoomsForObject` → `findRoomsForPublicObject` (более точное имя для публичного API) - Mock sync автоматически обновлён хуком (добавлен `getObjectDetail` в тесты) ## Зачем Маршрут `/objects/:id` был добавлен ранее, но откатился при revert PR #919 (`[CL-PIX-13404]`). Эндпоинт нужен для получения публичной информации об объекте с данными комнат. ## План тестирования - [ ] `GET /api/public/objects/obj-001` возвращает 200 с полем `data.rooms` - [ ] `GET /api/public/objects/nonexistent` возвращает 404 - [ ] `GET /api/public/objects/obj-001/dashboard` по-прежнему работает (маршрут зарегистрирован после detail) ## Где могу ошибаться - Тип параметра `r` в `rooms.map` аннотирован вручную из-за absent Prisma types в этом окружении; в CI с `prisma generate` тип будет инферирован корректно - PR #920 (`agent-cto/pix-13359-api-build-fix`) также меняет `public.controller.ts` и `public.service.ts` — возможен конфликт при merge; рекомендуется смержить один из PR первым
[PIX-13568] fix(api): добавить GET /objects/:id + getObjectDetail + findRoomsForPublicObject
All checks were successful
CI / Contracts (pull_request) Successful in 2m9s
CI / Telegram Mini App (pull_request) Successful in 1m28s
CI / Python SDK (pull_request) Successful in 24s
CI / Secrets Scan (pull_request) Successful in 14s
CI / Prisma Migrate Gate (pull_request) Successful in 1m29s
PR Janitor / janitor (pull_request) Successful in 10s
CI / API (pull_request) Successful in 15m14s
CI / App (pull_request) Successful in 15m31s
6f17bb9926
- Зарегистрировать маршрут GET /objects/:id в public.routes.ts перед /objects/:id/dashboard
- Добавить контроллер getObjectDetail (возвращает детали объекта с комнатами)
- Добавить сервисные функции findPublicObjectDetail и findRoomsForPublicObject
- Переименование: findRoomsForObject -> findRoomsForPublicObject (более точное имя)

Маршрут был зарегистрирован ранее, но откатился при revert PR #919.
andrei merged commit b021c91165 into master 2026-06-27 18:45:08 +00:00
andrei deleted branch agent-cto/pix-13568 2026-06-27 18:45:08 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
europa-tech-srl/europatech!921
No description provided.