GET /api/spaces/:spaceId/role-mapping — Сопоставление ролей спейса
Сгенерировано из матриц + кода. Правки вносить в источники (
docs/matrices/,server/routes/), не здесь.
| Поле | Значение |
|---|---|
| HTTP | GET /api/spaces/:spaceId/role-mapping |
| Auth | requireSpaceAccess — requireSpaceAccess |
| Scope токена | read |
| PG-функции | api.list_space_role_mapping |
| Таблицы | space_role_mapping |
| SRM | SRM-303 |
| RP (права) | — |
| Файл роута | server/routes/spaces.js |
| Статус | done |
Аргументы запроса (best-effort из хендлера; путь-параметры опущены):
аргументов не обнаружено (подтвердить вручную по server/routes/spaces.js)
Коды ответов/ошибок (из хендлера): 200 — уточнить причины вручную
Для человека
Как открыть: вкладка «Спейсы» → откройте спейс → «Настройки спейса» → раздел «Специализации». Текущее сопоставление видно в столбце «Маппинг на роль» напротив каждой специализации.
Возвращает сопоставление ролей этого спейса — правила вида «специализация A в этом спейсе играет роль специализации B». Сопоставление задаётся для конкретного спейса и применяется при генерации проектов: разбирая задачу, система подставляет вместо исходной специализации ту, на которую она замаплена. Если у специализации сопоставления нет — в столбце прочерк.
Кто видит. Любой, у кого есть доступ к спейсу: сотрудник, менеджер спейса, наблюдатель, администратор организации. Менять сопоставление могут только спейсмен и org_admin — см. задать и убрать.
Для агента
Чтение — достаточно токена со scope read (см. Конвенции). Маршрут защищён requireSpaceAccess: токен должен иметь доступ к спейсу, иначе 403.
Путь-параметр: :id — UUID спейса.
Пример запроса:
curl https://specbuilder.vnimanie.ai/api/spaces/f9e8d7c6-.../role-mapping \ -H "Authorization: Bearer tak_..."Ответ 200 — массив пар, где source и target — id специализаций спейса (исходная → целевая):
[ { "source": "MLOPS_ENGINEER", "target": "BACKEND_ENGINEER" }]source — это та специализация, которую перезаписывают; target — на какую. Именно source передаётся в путь при удалении правила. Идентификаторы специализаций берутся из списка специализаций спейса.
Формат ответа — JSON и для cookie-клиента, и для токена; Markdown-зеркало и ETag/304 для этого списка не строятся.