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

PUT /api/admin/roles/:id — Изменить справочную роль

Сгенерировано из матриц + кода. Правки вносить в источники (docs/matrices/, server/routes/), не здесь.

ПолеЗначение
HTTPPUT /api/admin/roles/:id
AuthrequireSiteAdmin — только site-admin
Scope токенаread_write
PG-функцииapi.upsert_template_role
Таблицы
SRM— (вне SRM, документировано по коду)
RP (права)
Файл роутаserver/routes/admin.js
Статуспо коду (вне SRM)

Аргументы запроса (best-effort из хендлера; путь-параметры опущены):

АргументГдеОбяз.Заметка
borderbodyподтвердить
colorbodyподтвердить
descriptionbodyподтвердить
lightbodyподтвердить
namebodyподтвердить
sort_orderbodyподтвердить

Коды ответов/ошибок (из хендлера): 400, 500 (+ 200) — уточнить причины вручную

Для человека

Как открыть: войдите как site-admin (TOTP, см. Вход в Admin Panel) → Admin Panel → раздел справочника платформы → выберите справочную роль → измените поля и сохраните.

Меняет существующую эталонную роль справочника: имя, цвета оформления, описание, порядок. id роли — системный ключ, его операцией не трогают (он берётся из адреса). Под капотом тот же upsert, что и при создании.

Что важно знать. Роль справочная, поэтому смена оформления или имени отразится везде, где роль используется как палитра для коллекций. Если ключ из адреса не существует — он просто заведётся как новая запись (логика upsert).

Кто может. Только site-admin.

Для агента

Токену недоступно ни на каком scope. Site-admin-операция: requireSiteAdmin + блокировка /api/admin/* в агентном шлюзе (server/auth/agentGate.js). Bearer → 403. Только cookie-сессия site-admin.

Путь: :id — системный ключ роли (берётся из URL).

Тело запроса (JSON):

ПолеТипОбяз.Назначение
namestringдаОтображаемое имя
colorstringдаОсновной цвет (заливка)
lightstringдаСветлый фон
borderstringдаЦвет контура
descriptionstringнетОписание
sort_orderintнетПорядок сортировки

Пример (cookie-сессия site-admin):

Окно терминала
curl -X PUT https://specbuilder.vnimanie.ai/api/admin/roles/mlops-engineer \
-b cookies.txt \
-H "Content-Type: application/json" \
-d '{"name":"MLOps-инженер","color":"#16a34a","light":"#dcfce7","border":"#15803d","sort_order":40}'

Ответ 200:

{ "ok": true }

Markdown-зеркала/affordances у ресурса нет.

Связанные