AURORA-1690: пользователь и роли по клику на логотип #186

Merged
aep merged 3 commits from feat/184-user-role into main 2026-10-27 09:21:54 +03:00
Owner

Closes #184. Jira AURORA-1690.

Что изменено

Клик по логотипу «АРМ КА» в раскрытом боковом меню раскрывает блок: ФИО, логин (email), роли (названия), филиал.

  • Бэк (аддитивно): GET /me получил role_details: [{code, name}] — активные роли с названием из role.name, тем же запросом, что строит principal.roles (load_principal_data); roles (коды) не менялся. Тест в tests/test_me_and_dev_token.py.
  • Фронт: виджет web/src/widgets/UserMenu (Popover antd поверх логотипа), userInfoRows/roleLabels показывают названия, при отсутствии названия — код; тип Me дополнен role_details.
  • Спеки: требование в openspec/specs/authn-authz (/me) и openspec/specs/consolidations-ui (блок в меню); openspec validate --strict по обеим зелёный.

Как проверено

  • pytest tests/test_me_and_dev_token.py tests/test_openapi_routes.py: 108 passed; ruff, ruff format, mypy src чисто
  • vitest: 386 прошли, 1 упал (pdfjs.test.ts, нет нативного @napi-rs/canvas в окружении, к правке не относится); tsc и npm run lint чисто; biome не запускался (нет бинарника под darwin)
  • Визуально: dev-сервер фронта + Playwright с подменой ответов api, 1600x1000, блок с двумя ролями отрисован

Rulings I made

  • R-1: прежнего поведения в arm-web (test) нет, форма блока выбрана по описанию задачи.
  • R-2: коды ролей остаются в roles (на них завязан фронт), названия — отдельным полем role_details, чтобы не ломать контракт.
  • R-3: роль без названия на фронте показывается кодом.
  • R-4: в свёрнутом меню блок не добавлен.
  • R-5: bounded-задача, OpenSpec change не заводился, требования внесены прямо в openspec/specs/.

🤖 Generated with Claude Code

Closes #184. Jira AURORA-1690. ## Что изменено Клик по логотипу «АРМ КА» в раскрытом боковом меню раскрывает блок: ФИО, логин (email), роли (названия), филиал. - Бэк (аддитивно): `GET /me` получил `role_details: [{code, name}]` — активные роли с названием из `role.name`, тем же запросом, что строит `principal.roles` (`load_principal_data`); `roles` (коды) не менялся. Тест в `tests/test_me_and_dev_token.py`. - Фронт: виджет `web/src/widgets/UserMenu` (Popover antd поверх логотипа), `userInfoRows`/`roleLabels` показывают названия, при отсутствии названия — код; тип `Me` дополнен `role_details`. - Спеки: требование в `openspec/specs/authn-authz` (/me) и `openspec/specs/consolidations-ui` (блок в меню); `openspec validate --strict` по обеим зелёный. ## Как проверено - pytest tests/test_me_and_dev_token.py tests/test_openapi_routes.py: 108 passed; ruff, ruff format, mypy src чисто - vitest: 386 прошли, 1 упал (`pdfjs.test.ts`, нет нативного @napi-rs/canvas в окружении, к правке не относится); tsc и npm run lint чисто; biome не запускался (нет бинарника под darwin) - Визуально: dev-сервер фронта + Playwright с подменой ответов api, 1600x1000, блок с двумя ролями отрисован ## Rulings I made - R-1: прежнего поведения в arm-web (test) нет, форма блока выбрана по описанию задачи. - R-2: коды ролей остаются в `roles` (на них завязан фронт), названия — отдельным полем `role_details`, чтобы не ломать контракт. - R-3: роль без названия на фронте показывается кодом. - R-4: в свёрнутом меню блок не добавлен. - R-5: bounded-задача, OpenSpec change не заводился, требования внесены прямо в `openspec/specs/`. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
aep added 1 commit 2026-10-27 00:07:42 +03:00
aep added 1 commit 2026-10-27 00:11:35 +03:00
GET /me дополнен role_details [{code, name}] (аддитивно), фронт показывает
названия ролей, при их отсутствии — коды. Требования внесены в спеки
authn-authz и consolidations-ui, change 184-user-role удалён.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
aep added 1 commit 2026-10-27 09:19:40 +03:00
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
aep merged commit 019a1d8d1b into main 2026-10-27 09:21:54 +03:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: RSHB/arm-core#186
No description provided.